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:
parent
a1755216cf
commit
268f132afc
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user