| 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 | --- a/net80211/ieee80211_node.c |
| 7 | +++ b/net80211/ieee80211_node.c |
| 8 | @@ -599,10 +599,9 @@ ieee80211_ibss_merge(struct ieee80211_no |
| 9 | EXPORT_SYMBOL(ieee80211_ibss_merge); |
| 10 | |
| 11 | static __inline int |
| 12 | -ssid_equal(const struct ieee80211_node *a, const struct ieee80211_node *b) |
| 13 | +bssid_equal(const struct ieee80211_node *a, const struct ieee80211_node *b) |
| 14 | { |
| 15 | - return (a->ni_esslen == b->ni_esslen && |
| 16 | - memcmp(a->ni_essid, b->ni_essid, a->ni_esslen) == 0); |
| 17 | + return (memcmp(a->ni_bssid, b->ni_bssid, IEEE80211_ADDR_LEN) == 0); |
| 18 | } |
| 19 | |
| 20 | /* |
| 21 | @@ -634,8 +633,8 @@ ieee80211_sta_join1(struct ieee80211_nod |
| 22 | * Check if old+new node have the same ssid in which |
| 23 | * case we can reassociate when operating in sta mode. |
| 24 | */ |
| 25 | - canreassoc = ((obss != NULL) && |
| 26 | - (vap->iv_state == IEEE80211_S_RUN) && ssid_equal(obss, selbs)); |
| 27 | + canreassoc = 0; /* ((obss != NULL) && |
| 28 | + (vap->iv_state == IEEE80211_S_RUN) && bssid_equal(obss, selbs)); */ |
| 29 | vap->iv_bss = selbs; |
| 30 | IEEE80211_ADDR_COPY(vap->iv_bssid, selbs->ni_bssid); |
| 31 | if (obss != NULL) |
| 32 | |