From: Antonio Quartulli <antonio@xxxxxxxxxxxxx> The current behaviour when not finding the cbss in the local list is to always scan before creating the IBSS. However if bssid and freq have been provided (and fixed_freq is set) it is possible to immediately create the cell and avoid wasting time with the scan operation. Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxx> --- net/mac80211/ibss.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index e08387c..811207a 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 (!cbss && 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 */ -- 1.8.1.5 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html