mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
Two ifnet misuse fixes for if_nve:
(1) Don't manually configure if_output(), ether_ifattach() will do that
for us as part of link-layer setup.
(2) Call if_detach() before stopping nve in order to prevent calls into
the device driver after the driver has started shutting down.
Reviewed by: jhb
MFC after: 2 weeks
This commit is contained in:
parent
3f795dd3c7
commit
530ee5c971
1 changed files with 1 additions and 2 deletions
|
|
@ -539,7 +539,6 @@ nve_attach(device_t dev)
|
|||
if_initname(ifp, device_get_name(dev), device_get_unit(dev));
|
||||
ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
|
||||
ifp->if_ioctl = nve_ioctl;
|
||||
ifp->if_output = ether_output;
|
||||
ifp->if_start = nve_ifstart;
|
||||
ifp->if_watchdog = nve_watchdog;
|
||||
ifp->if_timer = 0;
|
||||
|
|
@ -585,11 +584,11 @@ nve_detach(device_t dev)
|
|||
ifp = sc->ifp;
|
||||
|
||||
if (device_is_attached(dev)) {
|
||||
ether_ifdetach(ifp);
|
||||
NVE_LOCK(sc);
|
||||
nve_stop(sc);
|
||||
NVE_UNLOCK(sc);
|
||||
callout_drain(&sc->stat_callout);
|
||||
ether_ifdetach(ifp);
|
||||
}
|
||||
|
||||
if (sc->miibus)
|
||||
|
|
|
|||
Loading…
Reference in a new issue