uath(4), urtw(4): restart driver if device does not respond after Tx request

MFC after:	1 week
This commit is contained in:
Andriy Voskoboinyk 2019-03-31 09:52:36 +00:00
parent c849485d90
commit 39abb4482d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=345751
2 changed files with 4 additions and 2 deletions

View File

@ -1276,8 +1276,8 @@ uath_watchdog(void *arg)
if (sc->sc_tx_timer > 0) {
if (--sc->sc_tx_timer == 0) {
device_printf(sc->sc_dev, "device timeout\n");
/*uath_init(sc); XXX needs a process context! */
counter_u64_add(ic->ic_oerrors, 1);
ieee80211_restart_all(ic);
return;
}
callout_reset(&sc->watchdog_ch, hz, uath_watchdog, sc);

View File

@ -1891,11 +1891,13 @@ static void
urtw_watchdog(void *arg)
{
struct urtw_softc *sc = arg;
struct ieee80211com *ic = &sc->sc_ic;
if (sc->sc_txtimer > 0) {
if (--sc->sc_txtimer == 0) {
device_printf(sc->sc_dev, "device timeout\n");
counter_u64_add(sc->sc_ic.ic_oerrors, 1);
counter_u64_add(ic->ic_oerrors, 1);
ieee80211_restart_all(ic);
return;
}
callout_reset(&sc->sc_watchdog_ch, hz, urtw_watchdog, sc);