From 3be1af45ac60b1ed743d466cd78ae8a7b98db065 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Wed, 14 Oct 2009 21:15:45 +0000
Subject: [PATCH] madwifi: fix another ibss crash (#5935)

SVN-Revision: 18048
---
 .../madwifi/patches/451-ibss_race_fix.patch   | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/package/madwifi/patches/451-ibss_race_fix.patch b/package/madwifi/patches/451-ibss_race_fix.patch
index c63901d9e89a..662f454eff00 100644
--- a/package/madwifi/patches/451-ibss_race_fix.patch
+++ b/package/madwifi/patches/451-ibss_race_fix.patch
@@ -10,3 +10,25 @@
  				ni_or_null = ieee80211_find_node(&ic->ic_sta, wh->i_addr2);
  				if (ni_or_null)
  					ni = ni_or_null;
+--- a/net80211/ieee80211_node.c
++++ b/net80211/ieee80211_node.c
+@@ -317,16 +317,10 @@ ieee80211_create_ibss(struct ieee80211va
+ 	/* Check to see if we already have a node for this mac
+ 	 * NB: we gain a node reference here
+ 	 */
+-	ni = ieee80211_find_txnode(vap, vap->iv_myaddr);
++	ni = ieee80211_alloc_node(vap, vap->iv_myaddr);
+ 	if (ni == NULL) {
+-		ni = ieee80211_alloc_node_table(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));
+-		if (ni == NULL) {
+-			/* XXX recovery? */
+-			return;
+-		}
++		/* XXX recovery? */
++		return;
+ 	}
+ 
+ 	IEEE80211_ADDR_COPY(ni->ni_bssid, vap->iv_myaddr);
-- 
2.30.2