diff options
author | rwatson <rwatson@FreeBSD.org> | 2004-08-13 23:22:53 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2004-08-13 23:22:53 +0000 |
commit | 5f924be0bb041b3453cb54bf7eddb669e928e6ee (patch) | |
tree | 6b225880fe9a08ae717baf27761e01fb33035ccf /sys/dev/nge | |
parent | e3c005c4cac0665f6e223f553436320222978714 (diff) | |
download | FreeBSD-src-5f924be0bb041b3453cb54bf7eddb669e928e6ee.zip FreeBSD-src-5f924be0bb041b3453cb54bf7eddb669e928e6ee.tar.gz |
Since if_nge doesn't contain locking or run with INTR_MPSAFE, mark
the interface as IFF_NEEDSGIANT so if_start is run holding Giant.
Note: this driver does declare and occasionally reference mutexes,
but I believe not nearly enough to provide safety.
Diffstat (limited to 'sys/dev/nge')
-rw-r--r-- | sys/dev/nge/if_nge.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/nge/if_nge.c b/sys/dev/nge/if_nge.c index 798702c..50f807a 100644 --- a/sys/dev/nge/if_nge.c +++ b/sys/dev/nge/if_nge.c @@ -888,7 +888,8 @@ nge_attach(dev) ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ifp->if_mtu = ETHERMTU; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | + IFF_NEEDSGIANT; ifp->if_ioctl = nge_ioctl; ifp->if_start = nge_start; ifp->if_watchdog = nge_watchdog; |