mac80211: fix a race condition in ad-hoc bringup with fixed bssid
SVN-Revision: 18859
This commit is contained in:
parent
6859128d3a
commit
6d3d1504cf
1 changed files with 20 additions and 0 deletions
20
package/mac80211/patches/200-mac80211_ibss_fix.patch
Normal file
20
package/mac80211/patches/200-mac80211_ibss_fix.patch
Normal file
|
@ -0,0 +1,20 @@
|
|||
--- a/net/mac80211/ibss.c
|
||||
+++ b/net/mac80211/ibss.c
|
||||
@@ -382,6 +382,7 @@ static void ieee80211_rx_bss_info(struct
|
||||
struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata,
|
||||
u8 *bssid,u8 *addr, u32 supp_rates)
|
||||
{
|
||||
+ struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
|
||||
struct ieee80211_local *local = sdata->local;
|
||||
struct sta_info *sta;
|
||||
int band = local->hw.conf.channel->band;
|
||||
@@ -397,6 +398,9 @@ struct sta_info *ieee80211_ibss_add_sta(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+ if (ifibss->state == IEEE80211_IBSS_MLME_SEARCH)
|
||||
+ return NULL;
|
||||
+
|
||||
if (compare_ether_addr(bssid, sdata->u.ibss.bssid))
|
||||
return NULL;
|
||||
|
Loading…
Reference in a new issue