aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorAlina Friedrichsen <x-alina@gmx.net>2009-01-29 03:59:43 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-09 15:03:39 -0500
commitc0415b547d37e8065ad4adf289d11db2f3b16dfd (patch)
treed41465a61ecfaece86102fad50b0fb704f06da9e /net/mac80211
parent547c3763765654f9a796e628692d9e7d5c1039af (diff)
mac80211: Creating new IBSS with fixed BSSID
This fixes a bug when creating a new IBSS network with a fixed BSSID. The fixed BSSID situation is now with one of my last patches handled in ieee80211_sta_find_ibss() function. It's more robust to test against (ifsta->flags & IEEE80211_STA_PREV_BSSID_SET), because ifsta->state is not seted right in every situation and so the creating of the new IBSS network sometimes hangs after the first try to scan for a network to merge. Signed-off-by: Alina Friedrichsen <x-alina@gmx.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/mlme.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index a8755df0cf74..0ece151659c0 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -2722,9 +2722,8 @@ void ieee80211_mlme_notify_scan_completed(struct ieee80211_local *local)
2722 2722
2723 if (sdata && sdata->vif.type == NL80211_IFTYPE_ADHOC) { 2723 if (sdata && sdata->vif.type == NL80211_IFTYPE_ADHOC) {
2724 ifsta = &sdata->u.sta; 2724 ifsta = &sdata->u.sta;
2725 if (!(ifsta->flags & IEEE80211_STA_BSSID_SET) || 2725 if ((!(ifsta->flags & IEEE80211_STA_PREV_BSSID_SET)) ||
2726 (!(ifsta->state == IEEE80211_STA_MLME_IBSS_JOINED) && 2726 !ieee80211_sta_active_ibss(sdata))
2727 !ieee80211_sta_active_ibss(sdata)))
2728 ieee80211_sta_find_ibss(sdata, ifsta); 2727 ieee80211_sta_find_ibss(sdata, ifsta);
2729 } 2728 }
2730 2729