1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-26 07:43:21 +02:00
openwrt-xburst/package/mac80211/patches/200-mac80211_ibss_fix.patch
nbd 0574916d37 mac80211: fix a race condition in ad-hoc bringup with fixed bssid
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18859 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-20 11:04:43 +00:00

21 lines
628 B
Diff

--- 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;