diff options
author | dg <dg@FreeBSD.org> | 1995-07-05 07:21:34 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1995-07-05 07:21:34 +0000 |
commit | 60db1a16bc533f4eff047757b9732e1076900e07 (patch) | |
tree | 1d0a0c503ba21cb248feb57cb63347ae6feb7649 /sys/i386 | |
parent | 590e5a6c7fdf4c2753ac566f4ef8f3772b7b5df8 (diff) | |
download | FreeBSD-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/i386')
-rw-r--r-- | sys/i386/isa/if_ep.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/i386/isa/if_ep.c b/sys/i386/isa/if_ep.c index 3b677d6..5e249de 100644 --- a/sys/i386/isa/if_ep.c +++ b/sys/i386/isa/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); } |