diff options
author | Antonio Quartulli <antonio@open-mesh.com> | 2013-08-09 18:58:32 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-08-12 18:08:34 +0200 |
commit | d8eb741eb374804e864751c7f3919ae50321d831 (patch) | |
tree | 63eee4920e2204e302b7bb93b709f74753d77ce7 /net | |
parent | 52981cd79461e47fe683febfcbd3d380c72b1c6c (diff) | |
download | linux-stable-d8eb741eb374804e864751c7f3919ae50321d831.tar.gz linux-stable-d8eb741eb374804e864751c7f3919ae50321d831.tar.bz2 linux-stable-d8eb741eb374804e864751c7f3919ae50321d831.zip |
mac80211: ibss - do not scan if not needed when creating an IBSS
In some cases mac80211 will scan before creating an IBSS
even if bssid and frequency have been forced by the user.
This is not needed and leads only to a delay in the IBSS
establishment phase.
Immediately create the cell if both bssid and frequency
(and fixed_freq is set) have been specified.
Signed-off-by: Antonio Quartulli <antonio@open-mesh.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/ibss.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index e08387cdc8fd..79e294e9b5cc 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c @@ -891,6 +891,17 @@ static void ieee80211_sta_find_ibss(struct ieee80211_sub_if_data *sdata) return; } + /* if a fixed bssid and a fixed freq have been provided create the IBSS + * directly and do not waste time scanning + */ + if (ifibss->fixed_bssid && ifibss->fixed_channel) { + sdata_info(sdata, "Created IBSS using preconfigured BSSID %pM\n", + bssid); + ieee80211_sta_create_ibss(sdata); + return; + } + + ibss_dbg(sdata, "sta_find_ibss: did not try to join ibss\n"); /* Selected IBSS not found in current scan results - try to scan */ |