mac80211: Fix IBSS merge
Currently, in IBSS mode, a single creator would go into a loop trying to merge/scan. This happens because the IBSS timer is rearmed on finishing a scan and the subsequent timer invocation requests another scan immediately. This patch fixes this issue by checking if we have just completed a scan run trying to merge with other IBSS networks. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
b35686d0b2
commit
450aae3d7b
|
@ -453,6 +453,10 @@ static void ieee80211_sta_merge_ibss(struct ieee80211_sub_if_data *sdata)
|
||||||
|
|
||||||
ieee80211_sta_expire(sdata, IEEE80211_IBSS_INACTIVITY_LIMIT);
|
ieee80211_sta_expire(sdata, IEEE80211_IBSS_INACTIVITY_LIMIT);
|
||||||
|
|
||||||
|
if (time_before(jiffies, ifibss->last_scan_completed +
|
||||||
|
IEEE80211_IBSS_MERGE_INTERVAL))
|
||||||
|
return;
|
||||||
|
|
||||||
if (ieee80211_sta_active_ibss(sdata))
|
if (ieee80211_sta_active_ibss(sdata))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue