diff options
author | avos <avos@FreeBSD.org> | 2016-05-19 22:43:21 +0000 |
---|---|---|
committer | avos <avos@FreeBSD.org> | 2016-05-19 22:43:21 +0000 |
commit | 6c1e3433001ab21080b290333a287a0b3f99b78b (patch) | |
tree | ec609cbd821df53af7cad11d39296777d6149241 /sys/dev/iwm/if_iwm.c | |
parent | e9042c97d404e747b680ca67f0802e973a452acf (diff) | |
download | FreeBSD-src-6c1e3433001ab21080b290333a287a0b3f99b78b.zip FreeBSD-src-6c1e3433001ab21080b290333a287a0b3f99b78b.tar.gz |
iwm: restart device after watchdog timeouts.
Diffstat (limited to 'sys/dev/iwm/if_iwm.c')
-rw-r--r-- | sys/dev/iwm/if_iwm.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/iwm/if_iwm.c b/sys/dev/iwm/if_iwm.c index 4554966..eff389e 100644 --- a/sys/dev/iwm/if_iwm.c +++ b/sys/dev/iwm/if_iwm.c @@ -3836,6 +3836,7 @@ static void iwm_watchdog(void *arg) { struct iwm_softc *sc = arg; + struct ieee80211com *ic = &sc->sc_ic; if (sc->sc_tx_timer > 0) { if (--sc->sc_tx_timer == 0) { @@ -3843,8 +3844,8 @@ iwm_watchdog(void *arg) #ifdef IWM_DEBUG iwm_nic_error(sc); #endif - iwm_stop(sc); - counter_u64_add(sc->sc_ic.ic_oerrors, 1); + ieee80211_restart_all(ic); + counter_u64_add(ic->ic_oerrors, 1); return; } } |