OSDN Git Service

wifi: iwlwifi: mvm: update mac config when assigning chanctx
authorGregory Greenman <gregory.greenman@intel.com>
Wed, 29 Mar 2023 07:05:33 +0000 (10:05 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 30 Mar 2023 10:08:42 +0000 (12:08 +0200)
Some mac parameters, such as HE support, can change at this stage.
Update mac config before updating links.

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

index beef706..4d56b2f 100644 (file)
@@ -231,6 +231,18 @@ __iwl_mvm_mld_assign_vif_chanctx(struct iwl_mvm *mvm,
        if (WARN_ON_ONCE(!mvmvif->link[link_id]))
                return -EINVAL;
 
+       /* mac parameters such as HE support can change at this stage
+        * For sta, need first to configure correct state from drv_sta_state
+        * and only after that update mac config.
+        */
+       if (vif->type == NL80211_IFTYPE_AP) {
+               ret = iwl_mvm_mld_mac_ctxt_changed(mvm, vif, false);
+               if (ret) {
+                       IWL_ERR(mvm, "failed to update MAC %pM\n", vif->addr);
+                       return -EINVAL;
+               }
+       }
+
        mvmvif->link[link_id]->phy_ctxt = phy_ctxt;
 
        if (switching_chanctx) {