Index: sys/dev/iwm/if_iwm.c =================================================================== --- sys/dev/iwm/if_iwm.c +++ sys/dev/iwm/if_iwm.c @@ -4372,6 +4372,20 @@ " rx ring: cur=%d\n", sc->rxq.cur); device_printf(sc->sc_dev, " 802.11 state %d\n", vap->iv_state); +#if 1 + IWM_UNLOCK(sc); + if (vap == NULL) { + printf("%s: null vap\n", __func__); + return; + } + + device_printf(sc->sc_dev, "%s: controller panicked, iv_state = %d; " + "restarting\n", __func__, vap->iv_state); + + ieee80211_restart_all(ic); + return; +#endif + #endif device_printf(sc->sc_dev, "fatal firmware error\n");