diff options
author | Damien Bergamini <damien@cvs.openbsd.org> | 2004-10-27 21:23:46 +0000 |
---|---|---|
committer | Damien Bergamini <damien@cvs.openbsd.org> | 2004-10-27 21:23:46 +0000 |
commit | db76883511da648df3854e7c4eb4b3435da3cf0d (patch) | |
tree | 9364da08f2a626da9df58c9c50238af2cec10e30 /sys | |
parent | 489bbdb168f13bfa3c0c9e42a537632034e4022e (diff) |
Check that we are associated before sending anything. Call ipw_stop()
from ipw_watchdog().
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/pci/if_ipw.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/pci/if_ipw.c b/sys/dev/pci/if_ipw.c index f38bf7b7bfd..3aec82a378c 100644 --- a/sys/dev/pci/if_ipw.c +++ b/sys/dev/pci/if_ipw.c @@ -1,4 +1,4 @@ -/* $Id: if_ipw.c,v 1.14 2004/10/27 21:23:01 damien Exp $ */ +/* $Id: if_ipw.c,v 1.15 2004/10/27 21:23:45 damien Exp $ */ /*- * Copyright (c) 2004 @@ -951,6 +951,9 @@ ipw_start(struct ifnet *ifp) struct mbuf *m; struct ieee80211_node *ni; + if (ic->ic_state != IEEE80211_S_RUN) + return; + for (;;) { IF_DEQUEUE(&ifp->if_snd, m); if (m == NULL) @@ -992,9 +995,7 @@ ipw_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); -#ifdef notyet - ipw_init(ifp); -#endif + ipw_stop(ifp, 1); return; } ifp->if_timer = 1; |