|
@@ -3261,9 +3261,9 @@ mwl8k_bss_info_changed_sta(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
|
|
/*
|
|
|
* Get the AP's legacy and MCS rates.
|
|
|
*/
|
|
|
- ap_legacy_rates = 0;
|
|
|
if (vif->bss_conf.assoc) {
|
|
|
struct ieee80211_sta *ap;
|
|
|
+
|
|
|
rcu_read_lock();
|
|
|
|
|
|
ap = ieee80211_find_sta(vif, vif->bss_conf.bssid);
|
|
@@ -3301,8 +3301,9 @@ mwl8k_bss_info_changed_sta(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
- if (((changed & BSS_CHANGED_ASSOC) && vif->bss_conf.assoc) ||
|
|
|
- (changed & (BSS_CHANGED_ERP_CTS_PROT | BSS_CHANGED_HT))) {
|
|
|
+ if (vif->bss_conf.assoc &&
|
|
|
+ (changed & (BSS_CHANGED_ASSOC | BSS_CHANGED_ERP_CTS_PROT |
|
|
|
+ BSS_CHANGED_HT))) {
|
|
|
rc = mwl8k_cmd_set_aid(hw, vif, ap_legacy_rates);
|
|
|
if (rc)
|
|
|
goto out;
|