mac80211: check operating channel in scan
authorJohannes Berg <johannes.berg@intel.com>
Thu, 26 Jul 2012 12:38:32 +0000 (14:38 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 20 Aug 2012 12:13:43 +0000 (14:13 +0200)
The optimisation of scanning only on the current
channel should check the operating channel. Also
modify it to compare channel pointer rather than
the frequency.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/scan.c

index bcaee5d..4b75dde 100644 (file)
@@ -479,11 +479,10 @@ static int __ieee80211_start_scan(struct ieee80211_sub_if_data *sdata,
        if (local->ops->hw_scan) {
                __set_bit(SCAN_HW_SCANNING, &local->scanning);
        } else if ((req->n_channels == 1) &&
-                  (req->channels[0]->center_freq ==
-                   local->hw.conf.channel->center_freq)) {
-
-               /* If we are scanning only on the current channel, then
-                * we do not need to stop normal activities
+                  (req->channels[0] == local->oper_channel)) {
+               /*
+                * If we are scanning only on the operating channel
+                * then we do not need to stop normal activities
                 */
                unsigned long next_delay;