openwrtv4/package/madwifi/patches/380-noderef_fix.patch

30 lines
1 KiB
Diff
Raw Normal View History

--- a/net80211/ieee80211_node.c
+++ b/net80211/ieee80211_node.c
@@ -316,7 +316,7 @@
*/
ni = ieee80211_find_node(&ic->ic_sta, vap->iv_myaddr);
if (ni == NULL) {
- ni = ieee80211_alloc_node_table(vap, vap->iv_myaddr);
+ ni = ieee80211_alloc_node(vap, vap->iv_myaddr);
IEEE80211_DPRINTF(vap, IEEE80211_MSG_ASSOC,
"%s: ni:%p allocated for " MAC_FMT "\n",
__func__, ni, MAC_ADDR(vap->iv_myaddr));
@@ -421,14 +421,14 @@
/* XXX multi-bss wrong */
ieee80211_reset_erp(ic, ic->ic_curmode);
- ni = ieee80211_alloc_node_table(vap, vap->iv_myaddr);
+ ni = ieee80211_alloc_node(vap, vap->iv_myaddr);
IEEE80211_DPRINTF(vap, IEEE80211_MSG_ASSOC,
"%s: ni:%p allocated for " MAC_FMT "\n",
__func__, ni, MAC_ADDR(vap->iv_myaddr));
KASSERT(ni != NULL, ("unable to setup inital BSS node"));
vap->iv_bss = PASS_NODE(ni);
- KASSERT((atomic_read(&vap->iv_bss->ni_refcnt) == 2),
+ KASSERT((atomic_read(&vap->iv_bss->ni_refcnt) == 1),
("wrong refcount for new node."));
if (obss != NULL) {