wifi: iwlwifi: mvm: update station's MFP flag after association
authorAvraham Stern <avraham.stern@intel.com>
Tue, 26 Sep 2023 08:07:13 +0000 (11:07 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 23 Oct 2023 09:42:06 +0000 (11:42 +0200)
The management frames protection flag is always set when the station
is not yet authorized. However, it was not cleared after association
even if the association did not use MFP. As a result, all public
action frames are not parsed by fw (which will cause FTM to fail,
for example). Update the station MFP flag after the station is
authorized.

Fixes: 4c8d5c8d079e ("wifi: iwlwifi: mvm: tell firmware about per-STA MFP enablement")
Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230926110319.2488cbd01bde.Ic0f08b7d3efcbdce27ec897f84d740fec8d169ef@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c

index 6fc5b3f227463f77c0cf8b49b70dc6bbd402d926..f9a4168e3e1a0f5eee16fee26c987a217202a260 100644 (file)
@@ -3809,6 +3809,12 @@ iwl_mvm_sta_state_assoc_to_authorized(struct iwl_mvm *mvm,
 
        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);
+
        return 0;
 }