mac80211: Don't merge if BSSID is set manually
authorAlina Friedrichsen <x-alina@gmx.net>
Tue, 6 Jan 2009 02:08:10 +0000 (03:08 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 29 Jan 2009 20:59:49 +0000 (15:59 -0500)
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 563ceb4d22529896adfd90993cbbcaa111f49125..2db56605a2b6ac87cc89d097fbde7a66839d33cc 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 &&