madwifi: fix a crash bug related to refcounting of bss nodes
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 4 Nov 2009 00:05:56 +0000 (00:05 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 4 Nov 2009 00:05:56 +0000 (00:05 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18290 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/madwifi/patches/451-ibss_race_fix.patch

index 9be3311fdada3a9e902014dacda2739abbd10689..d25d3cc88f9cbf9eaceae2b8ae4ebbb001d93f52 100644 (file)
        }
  
        IEEE80211_ADDR_COPY(ni->ni_bssid, vap->iv_myaddr);
-@@ -429,8 +425,8 @@ ieee80211_reset_bss(struct ieee80211vap 
-                         __func__, ni, MAC_ADDR(vap->iv_myaddr));
-       KASSERT(ni != NULL, ("unable to setup inital BSS node"));
--      vap->iv_bss = ieee80211_ref_node(ni);
--      KASSERT((atomic_read(&vap->iv_bss->ni_refcnt) == 3), 
-+      vap->iv_bss = ni;
-+      KASSERT((atomic_read(&vap->iv_bss->ni_refcnt) == 2),
-               ("wrong refcount for new node."));
-       if (obss != NULL) {
 @@ -647,7 +643,7 @@ ieee80211_sta_join1(struct ieee80211_nod
                (vap->iv_state == IEEE80211_S_RUN) && bssid_equal(obss, selbs)); */
        vap->iv_bss = selbs;