diff options
author | Nicolas Cavallari <Nicolas.Cavallari@lri.fr> | 2012-01-26 13:36:34 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-01-27 14:57:06 -0500 |
commit | f1e3be1561c43b6bbe2426e34849fb1486dc313b (patch) | |
tree | dc0975fc229b57658cac34ed90e56cd7ccf6b822 | |
parent | 6e1b1b246096fe04467f928973487fa47afaf2cc (diff) |
mac80211: Do not scan for IBSS merge with a fixed BSSID.
Currently, when we are on an IBSS network with no active station,
we would scan for other BSSID, even if fixed_bssid is on, due to
a bug in ibss.c, where fixed_channel would be checked instead of
fixed_bssid. This would trigger useless scans where scan results
would not be used anyway.
This patch also reverts commit 39d02a7d90602d4557ee05db2a157a4e0,
which assumed that the ifibss->fixed_channel check was legitimate
to disable single-channel scans. IBSS single-channel scan should
now be fixed.
Signed-off-by: Nicolas Cavallari <cavallar@lri.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | net/mac80211/ibss.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index d38baa41cf6..93b3c7298be 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c @@ -655,14 +655,15 @@ static void ieee80211_sta_merge_ibss(struct ieee80211_sub_if_data *sdata) if (ieee80211_sta_active_ibss(sdata)) return; - if (ifibss->fixed_channel) + if (ifibss->fixed_bssid) return; printk(KERN_DEBUG "%s: No active IBSS STAs - trying to scan for other " "IBSS networks with same SSID (merge)\n", sdata->name); ieee80211_request_internal_scan(sdata, - ifibss->ssid, ifibss->ssid_len, NULL); + ifibss->ssid, ifibss->ssid_len, + ifibss->fixed_channel ? ifibss->channel : NULL); } static void ieee80211_sta_create_ibss(struct ieee80211_sub_if_data *sdata) |