summaryrefslogtreecommitdiffstats
path: root/sys/dev/ex
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2004-08-13 23:06:55 +0000
committerrwatson <rwatson@FreeBSD.org>2004-08-13 23:06:55 +0000
commit037ce3f3f4148a5fcc99acd4ad947ab6eb86c233 (patch)
tree7449ea39f8c16cb1ab0b04fa8ec3f6a5a2588903 /sys/dev/ex
parent637083422130ca4d5bfe9adad017e590d0c72ffb (diff)
downloadFreeBSD-src-037ce3f3f4148a5fcc99acd4ad947ab6eb86c233.zip
FreeBSD-src-037ce3f3f4148a5fcc99acd4ad947ab6eb86c233.tar.gz
Since if_ex doesn't contain locking or run with INTR_MPSAFE, mark
the interface as IFF_NEEDSGIANT so if_start is run holding Giant. Note: there are locking macros in if_exreg.h, but they appear to be unused.
Diffstat (limited to 'sys/dev/ex')
-rw-r--r--sys/dev/ex/if_ex.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/ex/if_ex.c b/sys/dev/ex/if_ex.c
index 8c7916a..0ddd2c1 100644
--- a/sys/dev/ex/if_ex.c
+++ b/sys/dev/ex/if_ex.c
@@ -223,7 +223,8 @@ ex_attach(device_t dev)
ifp->if_softc = sc;
if_initname(ifp, device_get_name(dev), device_get_unit(dev));
ifp->if_mtu = ETHERMTU;
- ifp->if_flags = IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST;
+ ifp->if_flags = IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST |
+ IFF_NEEDSGIANT;
ifp->if_start = ex_start;
ifp->if_ioctl = ex_ioctl;
ifp->if_watchdog = ex_watchdog;
OpenPOWER on IntegriCloud