diff options
| author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2018-02-24 08:44:51 +0000 |
|---|---|---|
| committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2018-02-24 08:44:51 +0000 |
| commit | 7ef4e76f740c8acb91de2652f2d94c96d8b30861 (patch) | |
| tree | 6264b22f366164babeb5568d4cd9d30e88df688a /sys/dev/usb/net | |
| parent | eed91cae685e7456eb127d96dc5ad4c1c2df194a (diff) | |
Notes
Diffstat (limited to 'sys/dev/usb/net')
| -rw-r--r-- | sys/dev/usb/net/if_axge.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/usb/net/if_axge.c b/sys/dev/usb/net/if_axge.c index caceeb27982e..1e82f6549b0a 100644 --- a/sys/dev/usb/net/if_axge.c +++ b/sys/dev/usb/net/if_axge.c @@ -587,6 +587,10 @@ axge_detach(device_t dev) sc = device_get_softc(dev); ue = &sc->sc_ue; if (device_is_attached(dev)) { + + /* wait for any post attach or other command to complete */ + usb_proc_drain(&ue->ue_tq); + AXGE_LOCK(sc); /* * XXX @@ -878,7 +882,8 @@ axge_stop(struct usb_ether *ue) val &= ~MSR_RE; axge_write_cmd_2(sc, AXGE_ACCESS_MAC, 2, AXGE_MSR, val); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if (ifp != NULL) + ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); sc->sc_flags &= ~AXGE_FLAG_LINK; /* |
