wifi: iwlwifi: mvm: fix the TLC command after ADD_STA

[ Upstream commit 0fcdf55fced7121c43fa576433986f1c04115b73 ]

ADD_STA resets the link quality data inside the firmware. This is not
supposed to happen and has been fixed for newer devices. For older
devices (AX201 and down), this makes us send frames with rates that are
not in the TLC table.

Fixes: 5a86dcb4a908 ("wifi: iwlwifi: mvm: update station's MFP flag after association")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240129211905.1deca7eaff14.I597abd7aab36fdab4aa8311a48c98a3d5bd433ba@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Emmanuel Grumbach 2024-01-29 21:21:59 +02:00 committed by Sasha Levin
parent 8b15cdc00f
commit c8dcee2052

View File

@ -3781,13 +3781,17 @@ iwl_mvm_sta_state_assoc_to_authorized(struct iwl_mvm *mvm,
mvm_sta->authorized = true;
iwl_mvm_rs_rate_init_all_links(mvm, vif, sta);
/* MFP is set by default before the station is authorized.
* Clear it here in case it's not used.
*/
if (!sta->mfp)
return callbacks->update_sta(mvm, vif, sta);
if (!sta->mfp) {
int ret = callbacks->update_sta(mvm, vif, sta);
if (ret)
return ret;
}
iwl_mvm_rs_rate_init_all_links(mvm, vif, sta);
return 0;
}