diff options
author | Johannes Berg <johannes.berg@intel.com> | 2023-06-06 15:26:05 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2023-06-06 15:27:46 +0200 |
commit | 8b4580ab5612b34e2d05e60cb0efdc26e1bd6f39 (patch) | |
tree | ff3978b3e856602c90afee7dc97b9a44f7b8bb7b | |
parent | wifi: mac80211: stop warning after reconfig failures (diff) | |
download | linux-8b4580ab5612b34e2d05e60cb0efdc26e1bd6f39.tar.xz linux-8b4580ab5612b34e2d05e60cb0efdc26e1bd6f39.zip |
Revert "wifi: iwlwifi: mvm: FTM initiator MLO support"
This reverts commit 1bcbb1208e9a ("wifi: iwlwifi: mvm: FTM
initiator MLO support") as it causes a merge conflict, and
we can defer and re-do those changes later.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c | 45 |
1 files changed, 13 insertions, 32 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c b/drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c index 233ae81884a0..3963a0d4ed04 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c @@ -72,24 +72,15 @@ int iwl_mvm_ftm_add_pasn_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif, * the TK is already configured for this station, so it * shouldn't be set again here. */ - if (vif->cfg.assoc) { + if (vif->cfg.assoc && + !memcmp(addr, vif->bss_conf.bssid, ETH_ALEN)) { struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); - struct ieee80211_bss_conf *link_conf; - unsigned int link_id; struct ieee80211_sta *sta; - u8 sta_id; rcu_read_lock(); - for_each_vif_active_link(vif, link_conf, link_id) { - if (memcmp(addr, link_conf->bssid, ETH_ALEN)) - continue; - - sta_id = mvmvif->link[link_id]->ap_sta_id; - sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]); - if (!IS_ERR_OR_NULL(sta) && sta->mfp) - expected_tk_len = 0; - break; - } + sta = rcu_dereference(mvm->fw_id_to_mac_id[mvmvif->deflink.ap_sta_id]); + if (!IS_ERR_OR_NULL(sta) && sta->mfp) + expected_tk_len = 0; rcu_read_unlock(); } @@ -527,30 +518,20 @@ iwl_mvm_ftm_put_target(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_ftm_put_target_common(mvm, peer, target); - if (vif->cfg.assoc) { + if (vif->cfg.assoc && + !memcmp(peer->addr, vif->bss_conf.bssid, ETH_ALEN)) { struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); struct ieee80211_sta *sta; - struct ieee80211_bss_conf *link_conf; - unsigned int link_id; rcu_read_lock(); - for_each_vif_active_link(vif, link_conf, link_id) { - if (memcmp(peer->addr, link_conf->bssid, ETH_ALEN)) - continue; - - target->sta_id = mvmvif->link[link_id]->ap_sta_id; - sta = rcu_dereference(mvm->fw_id_to_mac_id[target->sta_id]); - if (WARN_ON_ONCE(IS_ERR_OR_NULL(sta))) { - rcu_read_unlock(); - return PTR_ERR_OR_ZERO(sta); - } - if (sta->mfp && (peer->ftm.trigger_based || - peer->ftm.non_trigger_based)) - FTM_PUT_FLAG(PMF); - break; - } + sta = rcu_dereference(mvm->fw_id_to_mac_id[mvmvif->deflink.ap_sta_id]); + if (sta->mfp && (peer->ftm.trigger_based || peer->ftm.non_trigger_based)) + FTM_PUT_FLAG(PMF); + rcu_read_unlock(); + + target->sta_id = mvmvif->deflink.ap_sta_id; } else { target->sta_id = IWL_MVM_INVALID_STA; } |