]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: iwlwifi: mvm: avoid sending MAC context for idle
authorJohannes Berg <johannes.berg@intel.com>
Wed, 29 Mar 2023 07:05:25 +0000 (10:05 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 30 Mar 2023 10:08:41 +0000 (12:08 +0200)
If we change only idle, avoid sending the MAC context
command since it doesn't depend on idle state. This
also fixes an issue with the firmware because without
this we send the command during link switching, as we
just deactivated the first link, and we cannot send
this command when there's no active link.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230329100039.f5218f8453ec.I1325ff14ec07a27dd7ea2c1c210a1721d969839f@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c

index 1a97bf92581732ae92694539727cc6aaffdcecf0..8ed76fc83702709efb164eb868a8a08b6f82576e 100644 (file)
@@ -563,6 +563,12 @@ static void iwl_mvm_mld_vif_cfg_changed_station(struct iwl_mvm *mvm,
        unsigned int i;
        int ret;
 
+       /* This might get called without active links during the
+        * chanctx switch, but we don't care about it anyway.
+        */
+       if (changes == BSS_CHANGED_IDLE)
+               return;
+
        ret = iwl_mvm_mld_mac_ctxt_changed(mvm, vif, false);
        if (ret)
                IWL_ERR(mvm, "failed to update MAC %pM\n", vif->addr);