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 --- a/net80211/ieee80211_node.c +++ b/net80211/ieee80211_node.c @@ -599,10 +599,9 @@ ieee80211_ibss_merge(struct ieee80211_no 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); } /* @@ -634,8 +633,8 @@ ieee80211_sta_join1(struct ieee80211_nod * 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)