diff options
author | Damien Bergamini <damien@cvs.openbsd.org> | 2006-02-15 17:23:27 +0000 |
---|---|---|
committer | Damien Bergamini <damien@cvs.openbsd.org> | 2006-02-15 17:23:27 +0000 |
commit | 246be331c73373ca973da35d730fbe182cfb5b5d (patch) | |
tree | 5970742a865835db5642d5f53bfd62c5f4025474 /sys | |
parent | c812cb634c6aec5db1340b5e441434ae11489dd6 (diff) |
don't re-init the interface on watchdog timeout. we need to reload the
firmware which can't be done outside of a process context.
instead, just turn the interface down (rt2661_stop) for now.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/ic/rt2661.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/ic/rt2661.c b/sys/dev/ic/rt2661.c index 415b62f1ff1..56ca6572e79 100644 --- a/sys/dev/ic/rt2661.c +++ b/sys/dev/ic/rt2661.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rt2661.c,v 1.8 2006/01/14 12:43:27 damien Exp $ */ +/* $OpenBSD: rt2661.c,v 1.9 2006/02/15 17:23:26 damien Exp $ */ /*- * Copyright (c) 2006 @@ -1959,7 +1959,8 @@ rt2661_watchdog(struct ifnet *ifp) if (sc->sc_tx_timer > 0) { if (--sc->sc_tx_timer == 0) { printf("%s: device timeout\n", sc->sc_dev.dv_xname); - rt2661_init(ifp); + ifp->if_flags &= ~IFF_UP; + rt2661_stop(ifp, 1); ifp->if_oerrors++; return; } |