try to unsetup USB xfers before calling ieee80211_ifdetach() to fix a
bug referencing a destroyed lock within TX callbacks during device detach. Submitted by: hps (original version) Tested by: Lucius Windschuh <lwindschuh at googlemail.com>
This commit is contained in:
parent
e32035ce1e
commit
e557e68088
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=192419
@ -517,12 +517,12 @@ uath_detach(device_t dev)
|
||||
|
||||
sc->sc_flags |= UATH_FLAG_INVALID;
|
||||
uath_stop(ifp);
|
||||
ieee80211_ifdetach(ic);
|
||||
|
||||
callout_drain(&sc->stat_ch);
|
||||
callout_drain(&sc->watchdog_ch);
|
||||
|
||||
usb2_transfer_unsetup(sc->sc_xfer, UATH_N_XFERS);
|
||||
ieee80211_ifdetach(ic);
|
||||
|
||||
/* free buffers */
|
||||
UATH_LOCK(sc);
|
||||
|
@ -2002,12 +2002,12 @@ upgt_detach(device_t dev)
|
||||
return 0;
|
||||
|
||||
upgt_stop(sc);
|
||||
ieee80211_ifdetach(ic);
|
||||
|
||||
callout_drain(&sc->sc_led_ch);
|
||||
callout_drain(&sc->sc_watchdog_ch);
|
||||
|
||||
usb2_transfer_unsetup(sc->sc_xfer, UPGT_N_XFERS);
|
||||
ieee80211_ifdetach(ic);
|
||||
upgt_free_rx(sc);
|
||||
upgt_free_tx(sc);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user