diff options
author | Felix Fietkau <nbd@openwrt.org> | 2009-12-20 11:04:43 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2009-12-20 11:04:43 +0000 |
commit | 97924c754dd55b3da96b8ae5f3a4bca73592378a (patch) | |
tree | ef86d12ea8051eb4f7f1c58dd2e617b5d78c00cb | |
parent | 20bcf08698bbab76ccc7063f94615a07451aafa7 (diff) | |
download | upstream-97924c754dd55b3da96b8ae5f3a4bca73592378a.tar.gz upstream-97924c754dd55b3da96b8ae5f3a4bca73592378a.tar.bz2 upstream-97924c754dd55b3da96b8ae5f3a4bca73592378a.zip |
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
-rw-r--r-- | package/mac80211/patches/200-mac80211_ibss_fix.patch | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/package/mac80211/patches/200-mac80211_ibss_fix.patch b/package/mac80211/patches/200-mac80211_ibss_fix.patch new file mode 100644 index 0000000000..c2fb1d7a25 --- /dev/null +++ b/package/mac80211/patches/200-mac80211_ibss_fix.patch @@ -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; + |