-diff -urN madwifi-ng-refcount-r2313-20070505.old/ath/if_ath.c madwifi-ng-refcount-r2313-20070505.dev/ath/if_ath.c
---- madwifi-ng-refcount-r2313-20070505.old/ath/if_ath.c 2007-05-13 18:17:55.691102704 +0200
-+++ madwifi-ng-refcount-r2313-20070505.dev/ath/if_ath.c 2007-05-13 18:17:55.783088720 +0200
-@@ -5704,7 +5704,8 @@
+Index: madwifi-ng-r2568-20070710/ath/if_ath.c
+===================================================================
+--- madwifi-ng-r2568-20070710.orig/ath/if_ath.c 2007-07-23 01:48:40.726301028 +0200
++++ madwifi-ng-r2568-20070710/ath/if_ath.c 2007-07-23 01:48:41.230329754 +0200
+@@ -5732,7 +5732,8 @@
* frame; it'll be dropped where it's not wanted.
*/
- if (ds->ds_rxstat.rs_keyix != HAL_RXKEYIX_INVALID &&
-- (ni = sc->sc_keyixmap[ds->ds_rxstat.rs_keyix]) != NULL) {
-+ (ni = sc->sc_keyixmap[ds->ds_rxstat.rs_keyix]) != NULL &&
-+ ieee80211_check_rxnode(ni, (const struct ieee80211_frame_min *) skb->data)) {
+ if (rs->rs_keyix != HAL_RXKEYIX_INVALID &&
+- (ni = sc->sc_keyixmap[rs->rs_keyix]) != NULL) {
++ ((ni = sc->sc_keyixmap[rs->rs_keyix]) != NULL) &&
++ ieee80211_check_rxnode(ni, (const struct ieee80211_frame_min *) skb->data)) {
struct ath_node *an;
/*
* Fast path: node is present in the key map;
-diff -urN madwifi-ng-refcount-r2313-20070505.old/net80211/ieee80211_node.c madwifi-ng-refcount-r2313-20070505.dev/net80211/ieee80211_node.c
---- madwifi-ng-refcount-r2313-20070505.old/net80211/ieee80211_node.c 2007-05-13 18:17:55.773090240 +0200
-+++ madwifi-ng-refcount-r2313-20070505.dev/net80211/ieee80211_node.c 2007-05-13 18:17:55.784088568 +0200
-@@ -1268,8 +1268,6 @@
+Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c
+===================================================================
+--- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.c 2007-07-23 01:48:38.458171774 +0200
++++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c 2007-07-23 01:48:41.230329754 +0200
+@@ -1271,8 +1271,6 @@
IEEE80211_NODE_TABLE_UNLOCK_IRQ(nt);
return ni;
}
#ifdef IEEE80211_DEBUG_REFCNT
EXPORT_SYMBOL(ieee80211_find_rxnode_debug);
-@@ -1277,6 +1275,20 @@
+@@ -1280,6 +1278,20 @@
EXPORT_SYMBOL(ieee80211_find_rxnode);
#endif
/*
* Return a reference to the appropriate node for sending
* a data frame. This handles node discovery in adhoc networks.
-diff -urN madwifi-ng-refcount-r2313-20070505.old/net80211/ieee80211_node.h madwifi-ng-refcount-r2313-20070505.dev/net80211/ieee80211_node.h
---- madwifi-ng-refcount-r2313-20070505.old/net80211/ieee80211_node.h 2007-04-04 04:39:58.000000000 +0200
-+++ madwifi-ng-refcount-r2313-20070505.dev/net80211/ieee80211_node.h 2007-05-13 18:17:55.784088568 +0200
-@@ -318,6 +318,8 @@
+Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.h
+===================================================================
+--- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.h 2007-07-23 01:48:38.466172232 +0200
++++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.h 2007-07-23 01:48:41.254331120 +0200
+@@ -328,6 +328,8 @@
*pni = NULL; /* guard against use */
}