aboutsummaryrefslogtreecommitdiffstats
path: root/package/madwifi/patches-testing/324-reassoc.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2008-07-18 22:57:30 +0000
committerFelix Fietkau <nbd@openwrt.org>2008-07-18 22:57:30 +0000
commit9dc4917da8a85552aa733b269c985cebb35f00c5 (patch)
tree1d7b62d9d6fc2d792c0fd53c7b3d886dd7635882 /package/madwifi/patches-testing/324-reassoc.patch
parent8aa31d7ce01f62e092d91499529e80db27775558 (diff)
downloadupstream-9dc4917da8a85552aa733b269c985cebb35f00c5.tar.gz
upstream-9dc4917da8a85552aa733b269c985cebb35f00c5.tar.bz2
upstream-9dc4917da8a85552aa733b269c985cebb35f00c5.zip
rename patches-r3776 to patches-testing
SVN-Revision: 11868
Diffstat (limited to 'package/madwifi/patches-testing/324-reassoc.patch')
-rw-r--r--package/madwifi/patches-testing/324-reassoc.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/package/madwifi/patches-testing/324-reassoc.patch b/package/madwifi/patches-testing/324-reassoc.patch
new file mode 100644
index 0000000000..7d1ade3dd7
--- /dev/null
+++ b/package/madwifi/patches-testing/324-reassoc.patch
@@ -0,0 +1,31 @@
+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>
+
+--- a/net80211/ieee80211_node.c
++++ b/net80211/ieee80211_node.c
+@@ -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)