huge madwifi update (work in progress, disabled by default, compiles but breaks at...
[openwrt.git] / package / madwifi / patches-r3776 / 324-reassoc.patch
diff --git a/package/madwifi/patches-r3776/324-reassoc.patch b/package/madwifi/patches-r3776/324-reassoc.patch
new file mode 100644 (file)
index 0000000..12c5b91
--- /dev/null
@@ -0,0 +1,33 @@
+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)
This page took 0.027836 seconds and 4 git commands to generate.