wifi: iwlwifi: mvm: remove TDLS stations from FW
authorJohannes Berg <johannes.berg@intel.com>
Wed, 11 Oct 2023 10:07:30 +0000 (13:07 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 23 Oct 2023 10:26:28 +0000 (12:26 +0200)
When we remove TDLS stations, we need to remove them from FW
immediately, even while associated. Some previous refactoring
here lost the sta ID condition, add it back.

Fixes: 57974a55d995 ("wifi: iwlwifi: mvm: refactor iwl_mvm_mac_sta_state_common()")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20231011130030.933011e710a9.I77c069c781e8b2b698b86cc3f43fc3c7e2dde114@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/sta.c

index d67103d3eea9286a84556210354922a3a4e32583..9c5ce4c52a0520c9625fd897b5c38c001e2a0846 100644 (file)
@@ -2060,7 +2060,8 @@ bool iwl_mvm_sta_del(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
                *status = IWL_MVM_QUEUE_FREE;
        }
 
-       if (vif->type == NL80211_IFTYPE_STATION) {
+       if (vif->type == NL80211_IFTYPE_STATION &&
+           mvm_link->ap_sta_id == sta_id) {
                /* if associated - we can't remove the AP STA now */
                if (vif->cfg.assoc)
                        return true;