diff options
author | Marcus Glocker <mglocker@cvs.openbsd.org> | 2006-08-29 17:26:39 +0000 |
---|---|---|
committer | Marcus Glocker <mglocker@cvs.openbsd.org> | 2006-08-29 17:26:39 +0000 |
commit | c68d5120799cd3aa3905e6e522ed242e566f607b (patch) | |
tree | 27567428456bf42ff8237430a66a56e3360fda26 /sys/dev | |
parent | f8006ff80be0742218b8d5be35f70589af8ee9c1 (diff) |
Don't panic when watchdog timeout is called.
formal ok deraadt@
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ic/acx.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sys/dev/ic/acx.c b/sys/dev/ic/acx.c index de95a8ec027..87946fd3e98 100644 --- a/sys/dev/ic/acx.c +++ b/sys/dev/ic/acx.c @@ -1,4 +1,4 @@ -/* $OpenBSD: acx.c,v 1.49 2006/08/21 09:39:37 mglocker Exp $ */ +/* $OpenBSD: acx.c,v 1.50 2006/08/29 17:26:38 mglocker Exp $ */ /* * Copyright (c) 2006 Jonathan Gray <jsg@openbsd.org> @@ -1016,7 +1016,7 @@ acx_start(struct ifnet *ifp) ifp->if_flags |= IFF_OACTIVE; if (trans && ifp->if_timer == 0) - ifp->if_timer = 1; + ifp->if_timer = 5; sc->sc_txtimer = 5; } @@ -1033,12 +1033,11 @@ acx_watchdog(struct ifnet *ifp) if (sc->sc_txtimer) { if (--sc->sc_txtimer == 0) { printf("%s: watchdog timeout\n", ifp->if_xname); - acx_stop(ifp->if_softc); - acx_init(ifp->if_softc); + acx_txeof(ifp->if_softc); ifp->if_oerrors++; return; } - ifp->if_timer = 1; + ifp->if_timer = 5; } ieee80211_watchdog(ifp); @@ -1156,7 +1155,7 @@ acx_txeof(struct acx_softc *sc) } bd->tx_used_start = idx; - ifp->if_timer = bd->tx_used_count == 0 ? 0 : 1; + ifp->if_timer = bd->tx_used_count == 0 ? 0 : 5; sc->sc_txtimer = 0; if (bd->tx_used_count != ACX_TX_DESC_CNT) { |