openwrtv3/package/madwifi/patches-r3776/324-reassoc.patch

33 lines
1.3 KiB
Diff

Add a preliminary fix for the reassoc check, but disable reassoc entirely for now
until we've figured out why it fails frequently.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Index: madwifi-trunk-r3776/net80211/ieee80211_node.c
===================================================================
--- madwifi-trunk-r3776.orig/net80211/ieee80211_node.c 2008-07-17 04:05:43.000000000 +0200
+++ madwifi-trunk-r3776/net80211/ieee80211_node.c 2008-07-17 04:05:55.000000000 +0200
@@ -561,10 +561,9 @@
EXPORT_SYMBOL(ieee80211_ibss_merge);
static __inline int
-ssid_equal(const struct ieee80211_node *a, const struct ieee80211_node *b)
+bssid_equal(const struct ieee80211_node *a, const struct ieee80211_node *b)
{
- return (a->ni_esslen == b->ni_esslen &&
- memcmp(a->ni_essid, b->ni_essid, a->ni_esslen) == 0);
+ return (memcmp(a->ni_bssid, b->ni_bssid, IEEE80211_ADDR_LEN) == 0);
}
/*
@@ -596,8 +595,8 @@
* Check if old+new node have the same ssid in which
* case we can reassociate when operating in sta mode.
*/
- canreassoc = ((obss != NULL) &&
- (vap->iv_state == IEEE80211_S_RUN) && ssid_equal(obss, selbs));
+ canreassoc = 0; /* ((obss != NULL) &&
+ (vap->iv_state == IEEE80211_S_RUN) && bssid_equal(obss, selbs)); */
vap->iv_bss = selbs;
IEEE80211_ADDR_COPY(vap->iv_bssid, selbs->ni_bssid);
if (obss != NULL)