summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2023-06-06 15:26:05 +0200
committerJohannes Berg <johannes.berg@intel.com>2023-06-06 15:27:46 +0200
commit8b4580ab5612b34e2d05e60cb0efdc26e1bd6f39 (patch)
treeff3978b3e856602c90afee7dc97b9a44f7b8bb7b
parentwifi: mac80211: stop warning after reconfig failures (diff)
downloadlinux-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.c45
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;
}