madwifi: fix race condition on ibss init (#5935)
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 14 Oct 2009 08:29:46 +0000 (08:29 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 14 Oct 2009 08:29:46 +0000 (08:29 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18046 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/madwifi/patches/451-ibss_race_fix.patch [new file with mode: 0644]

diff --git a/package/madwifi/patches/451-ibss_race_fix.patch b/package/madwifi/patches/451-ibss_race_fix.patch
new file mode 100644 (file)
index 0000000..c63901d
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/net80211/ieee80211_input.c
++++ b/net80211/ieee80211_input.c
+@@ -3573,6 +3573,9 @@ ieee80211_recv_mgmt(struct ieee80211vap 
+                               found = 1;
+                               ni = ni_or_null = vap->iv_wdsnode;
+                       } else if (vap->iv_opmode == IEEE80211_M_IBSS) {
++                              if (vap->iv_state != IEEE80211_S_RUN)
++                                      break;
++
+                               ni_or_null = ieee80211_find_node(&ic->ic_sta, wh->i_addr2);
+                               if (ni_or_null)
+                                       ni = ni_or_null;