mac80211: Don't merge if BSSID is set manually
Alina Friedrichsen [Tue, 6 Jan 2009 02:08:10 +0000 (03:08 +0100)]
If you set a fixed BSSID manually, you never want that the driver
change it back, or your ad-hoc mesh network will break into peaces. 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 563ceb4..2db5660 100644 (file)
@@ -1644,6 +1644,7 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,
 
        /* check if we need to merge IBSS */
        if (sdata->vif.type == NL80211_IFTYPE_ADHOC && beacon &&
+           (!(sdata->u.sta.flags & IEEE80211_STA_BSSID_SET)) &&
            bss->capability & WLAN_CAPABILITY_IBSS &&
            bss->freq == local->oper_channel->center_freq &&
            elems->ssid_len == sdata->u.sta.ssid_len &&