Since if_txp doesn't contain locking or run with INTR_MPSAFE, mark
the interface as IFF_NEEDSGIANT so if_start is run holding Giant. Note: mutexes are initialized in the softc for this driver, but the locking appears inadequate to allow Giant-free operation.
This commit is contained in:
parent
85d5028a78
commit
095f2ac443
@ -332,7 +332,8 @@ txp_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 = txp_ioctl;
|
||||
ifp->if_start = txp_start;
|
||||
ifp->if_watchdog = txp_watchdog;
|
||||
|
Loading…
Reference in New Issue
Block a user