ath9k: remove the two wiphys scanning at the same time message
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Tue, 27 Jul 2010 20:33:06 +0000 (16:33 -0400)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 28 Jul 2010 20:24:01 +0000 (16:24 -0400)
When issuing two consecutive scans you could often end up
getting in the logs:

"ath9k: Two wiphys trying to scan at the same time"

This message is due to a race in mac80211 but addressing
that race requires some more major changes on the driver
and perhaps optimizations on mac80211 like removing the
scan complete callback alltogether. Its too late to address
this this kernel release so supress the complaint and annotate
this needs fixing for later.

Cc: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c

index 6cf0410ae0bab2e62b8855eb4faa73db710362ba..0429dda0961fcea24309d045a0af2655de053c25 100644 (file)
@@ -1994,11 +1994,12 @@ static void ath9k_sw_scan_start(struct ieee80211_hw *hw)
 
        mutex_lock(&sc->mutex);
        if (ath9k_wiphy_scanning(sc)) {
-               printk(KERN_DEBUG "ath9k: Two wiphys trying to scan at the "
-                      "same time\n");
                /*
-                * Do not allow the concurrent scanning state for now. This
-                * could be improved with scanning control moved into ath9k.
+                * There is a race here in mac80211 but fixing it requires
+                * we revisit how we handle the scan complete callback.
+                * After mac80211 fixes we will not have configured hardware
+                * to the home channel nor would we have configured the RX
+                * filter yet.
                 */
                mutex_unlock(&sc->mutex);
                return;
@@ -2014,6 +2015,10 @@ static void ath9k_sw_scan_start(struct ieee80211_hw *hw)
        mutex_unlock(&sc->mutex);
 }
 
+/*
+ * XXX: this requires a revisit after the driver
+ * scan_complete gets moved to another place/removed in mac80211.
+ */
 static void ath9k_sw_scan_complete(struct ieee80211_hw *hw)
 {
        struct ath_wiphy *aphy = hw->priv;