summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1995-07-05 07:21:34 +0000
committerdg <dg@FreeBSD.org>1995-07-05 07:21:34 +0000
commit60db1a16bc533f4eff047757b9732e1076900e07 (patch)
tree1d0a0c503ba21cb248feb57cb63347ae6feb7649 /sys/dev
parent590e5a6c7fdf4c2753ac566f4ef8f3772b7b5df8 (diff)
downloadFreeBSD-src-60db1a16bc533f4eff047757b9732e1076900e07.zip
FreeBSD-src-60db1a16bc533f4eff047757b9732e1076900e07.tar.gz
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.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ep/if_ep.c7
1 files changed, 6 insertions, 1 deletions
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);
}
OpenPOWER on IntegriCloud