iwm: If firmware load fails during init via iwm_preinit() we bail out

before calling ieee80211_ifattach() so the taskqueue hasn't been
initialized. Don't try to drain it, we'll panic.
Looks like this issue was introduced in r303326.

Reviewed by:	avos, sbruno, adrian
Differential Revision:	https://reviews.freebsd.org/D8499
This commit is contained in:
Gavin Atkinson 2016-11-12 18:33:56 +00:00
parent 7232d69b0b
commit bfcd23a946

View File

@ -6192,7 +6192,8 @@ iwm_detach_local(struct iwm_softc *sc, int do_net80211)
device_t dev = sc->sc_dev;
int i;
ieee80211_draintask(&sc->sc_ic, &sc->sc_es_task);
if (do_net80211)
ieee80211_draintask(&sc->sc_ic, &sc->sc_es_task);
callout_drain(&sc->sc_led_blink_to);
callout_drain(&sc->sc_watchdog_to);