huge madwifi update (work in progress, disabled by default, compiles but breaks at...
[librecmc/librecmc.git] / package / madwifi / patches-r3776 / 324-reassoc.patch
1 Add a preliminary fix for the reassoc check, but disable reassoc entirely for now
2 until we've figured out why it fails frequently.
3
4 Signed-off-by: Felix Fietkau <nbd@openwrt.org>
5
6 Index: madwifi-trunk-r3776/net80211/ieee80211_node.c
7 ===================================================================
8 --- madwifi-trunk-r3776.orig/net80211/ieee80211_node.c  2008-07-17 04:05:43.000000000 +0200
9 +++ madwifi-trunk-r3776/net80211/ieee80211_node.c       2008-07-17 04:05:55.000000000 +0200
10 @@ -561,10 +561,9 @@
11  EXPORT_SYMBOL(ieee80211_ibss_merge);
12  
13  static __inline int
14 -ssid_equal(const struct ieee80211_node *a, const struct ieee80211_node *b)
15 +bssid_equal(const struct ieee80211_node *a, const struct ieee80211_node *b)
16  {
17 -       return (a->ni_esslen == b->ni_esslen &&
18 -               memcmp(a->ni_essid, b->ni_essid, a->ni_esslen) == 0);
19 +       return (memcmp(a->ni_bssid, b->ni_bssid, IEEE80211_ADDR_LEN) == 0);
20  }
21  
22  /*
23 @@ -596,8 +595,8 @@
24          * Check if old+new node have the same ssid in which
25          * case we can reassociate when operating in sta mode.
26          */
27 -       canreassoc = ((obss != NULL) &&
28 -               (vap->iv_state == IEEE80211_S_RUN) && ssid_equal(obss, selbs));
29 +       canreassoc = 0; /* ((obss != NULL) &&
30 +               (vap->iv_state == IEEE80211_S_RUN) && bssid_equal(obss, selbs)); */
31         vap->iv_bss = selbs;
32         IEEE80211_ADDR_COPY(vap->iv_bssid, selbs->ni_bssid);
33         if (obss != NULL)