From ff540a7f599a544251236e9926ca2f2cf4c11de0 Mon Sep 17 00:00:00 2001 From: thompsa Date: Sun, 10 May 2009 02:44:19 +0000 Subject: Abort any scan on a fatal firmware. ic_scan_curchan is overridden to perform the scan in firmware and this relies on the firmware to wake up the scan task on completion. --- sys/dev/ipw/if_ipw.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'sys/dev/ipw/if_ipw.c') diff --git a/sys/dev/ipw/if_ipw.c b/sys/dev/ipw/if_ipw.c index eac9091..c69ab6d 100644 --- a/sys/dev/ipw/if_ipw.c +++ b/sys/dev/ipw/if_ipw.c @@ -1384,8 +1384,11 @@ ipw_fatal_error_intr(struct ipw_softc *sc) { struct ifnet *ifp = sc->sc_ifp; struct ieee80211com *ic = ifp->if_l2com; + struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps); device_printf(sc->sc_dev, "firmware error\n"); + if (vap != NULL) + ieee80211_cancel_scan(vap); ieee80211_runtask(ic, &sc->sc_init_task); } -- cgit v1.1