mac80211: Don't scan if BSSID and channel are set manually
authorAlina Friedrichsen <x-alina@gmx.net>
Tue, 6 Jan 2009 01:49:07 +0000 (02:49 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 29 Jan 2009 20:59:48 +0000 (15:59 -0500)
If you set a fixed BSSID and channel it's not necessary to scan for
neighbors to merge, because you really don't want to merge with it. So
don't do it.

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/mlme.c

index f80dc253570906da87a6872d037e390b15e1a3f7..563ceb4d22529896adfd90993cbbcaa111f49125 100644 (file)
@@ -2009,6 +2009,10 @@ static void ieee80211_sta_merge_ibss(struct ieee80211_sub_if_data *sdata,
        if (ieee80211_sta_active_ibss(sdata))
                return;
 
+       if ((sdata->u.sta.flags & IEEE80211_STA_BSSID_SET) &&
+           (!(sdata->u.sta.flags & IEEE80211_STA_AUTO_CHANNEL_SEL)))
+               return;
+
        printk(KERN_DEBUG "%s: No active IBSS STAs - trying to scan for other "
               "IBSS networks with same SSID (merge)\n", sdata->dev->name);
        ieee80211_request_scan(sdata, ifsta->ssid, ifsta->ssid_len);