From 60db1a16bc533f4eff047757b9732e1076900e07 Mon Sep 17 00:00:00 2001 From: dg Date: Wed, 5 Jul 1995 07:21:34 +0000 Subject: Protected entire epioctl routine with splimp(). In this case, it is better form to do this than it is relying on individual subroutines (the logic in epioctl is itself very minimal). Ideally, unnecessary splimp()'s should now be removed if they exist; I'll leave this for a later date (a complete code review of the driver needs to be done). Fixes a bug I noticed that would show up when ifconfig'ing the interface down. --- sys/dev/ep/if_ep.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'sys/dev') diff --git a/sys/dev/ep/if_ep.c b/sys/dev/ep/if_ep.c index 3b677d6..5e249de 100644 --- a/sys/dev/ep/if_ep.c +++ b/sys/dev/ep/if_ep.c @@ -38,7 +38,7 @@ */ /* - * $Id: if_ep.c,v 1.27 1995/05/27 04:40:57 davidg Exp $ + * $Id: if_ep.c,v 1.28 1995/05/30 08:02:07 rgrimes Exp $ * * Promiscuous mode added and interrupt logic slightly changed * to reduce the number of adapter failures. Transceiver select @@ -1129,6 +1129,8 @@ epioctl(ifp, cmd, data) struct ifreq *ifr = (struct ifreq *) data; int s, error = 0; + s = splimp(); + switch (cmd) { case SIOCSIFADDR: ifp->if_flags |= IFF_UP; @@ -1210,6 +1212,9 @@ epioctl(ifp, cmd, data) default: error = EINVAL; } + + splx(s); + return (error); } -- cgit v1.1