Since if_gem doesn't contain locking or run with INTR_MPSAFE, mark

the interface as IFF_NEEDSGIANT so if_start is run holding Giant.
This commit is contained in:
Robert Watson 2004-08-13 23:11:24 +00:00
parent a1755216cf
commit 268f132afc

View File

@ -249,7 +249,8 @@ gem_attach(sc)
if_initname(ifp, device_get_name(sc->sc_dev), if_initname(ifp, device_get_name(sc->sc_dev),
device_get_unit(sc->sc_dev)); device_get_unit(sc->sc_dev));
ifp->if_mtu = ETHERMTU; 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_start = gem_start; ifp->if_start = gem_start;
ifp->if_ioctl = gem_ioctl; ifp->if_ioctl = gem_ioctl;
ifp->if_watchdog = gem_watchdog; ifp->if_watchdog = gem_watchdog;