PERFORCE change 120531 for review
Andrew Thompson
thompsa at FreeBSD.org
Tue May 29 01:53:26 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=120531
Change 120531 by thompsa at thompsa_heff on 2007/05/29 01:52:31
- Make sure that net80211 initiates all scan aborts
- Remove call to net80211 on IWI_SCAN_ABORTED
Affected files ...
.. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#28 edit
Differences ...
==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#28 (text+ko) ====
@@ -162,7 +162,6 @@
static int iwi_config(struct iwi_softc *);
static int iwi_get_firmware(struct iwi_softc *);
static void iwi_put_firmware(struct iwi_softc *);
-static void iwi_scanabort(void *, int);
static int iwi_scanchan(struct iwi_softc *, unsigned long);
static void iwi_scan_start(struct ieee80211com *);
static void iwi_scan_end(struct ieee80211com *);
@@ -275,7 +274,6 @@
#endif
TASK_INIT(&sc->sc_radiontask, 0, iwi_radio_on, sc);
TASK_INIT(&sc->sc_radiofftask, 0, iwi_radio_off, sc);
- TASK_INIT(&sc->sc_scanaborttask, 0, iwi_scanabort, sc);
TASK_INIT(&sc->sc_setwmetask, 0, iwi_wme_setparams, sc);
TASK_INIT(&sc->sc_downtask, 0, iwi_down, sc);
TASK_INIT(&sc->sc_restarttask, 0, iwi_restart, sc);
@@ -969,7 +967,7 @@
taskqueue_enqueue(sc->sc_tq, &sc->sc_downtask);
if (ic->ic_state == IEEE80211_S_SCAN &&
(sc->flags & IWI_FLAG_SCANNING))
- taskqueue_enqueue(sc->sc_tq, &sc->sc_scanaborttask);
+ ieee80211_cancel_scan(ic);
break;
case IEEE80211_S_ASSOC:
default:
@@ -1385,14 +1383,8 @@
sc->sc_scan_timer = 0;
sc->flags &= ~IWI_FLAG_SCANNING;
- switch (scan->status) {
- case IWI_SCAN_COMPLETED:
+ if (scan->status == IWI_SCAN_COMPLETED)
ieee80211_scan_next(ic);
- break;
- case IWI_SCAN_ABORTED:
- ieee80211_cancel_scan(ic);
- break;
- }
break;
@@ -2651,19 +2643,6 @@
*st = (*st & 0x0f) | ((scan_type & 0xf) << 4);
}
-static void
-iwi_scanabort(void *arg, int npending)
-{
- struct iwi_softc *sc = arg;
- IWI_LOCK_DECL;
-
- IWI_LOCK(sc);
- /* NB: make sure we're still scanning */
- if (sc->flags & IWI_FLAG_SCANNING)
- iwi_cmd(sc, IWI_CMD_ABORT_SCAN, NULL, 0);
- IWI_UNLOCK(sc);
-}
-
/*
* Scan on ic_curchan according to ic_scan (essid, active/passive, dwell ...)
*/
@@ -3451,7 +3430,9 @@
break;
case IWI_SCAN_END:
sc->flags &= ~IWI_FLAG_CHANNEL_SCAN;
- iwi_scanabort(sc, 0);
+ /* NB: make sure we're still scanning */
+ if (sc->flags & IWI_FLAG_SCANNING)
+ iwi_cmd(sc, IWI_CMD_ABORT_SCAN, NULL, 0);
break;
case IWI_SCAN_CURCHAN:
if (!(sc->flags & IWI_FLAG_CHANNEL_SCAN)) {
@@ -3459,12 +3440,9 @@
__func__));
return;
}
- if (iwi_scanchan(sc, sc->sc_maxdwell)) {
- iwi_scanabort(sc, 0);
- IWI_UNLOCK(sc);
+ if (iwi_scanchan(sc, sc->sc_maxdwell))
ieee80211_cancel_scan(ic);
- return;
- }
+
break;
}
done:
More information about the p4-projects
mailing list