summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorGregory Greenman <gregory.greenman@intel.com>2023-03-29 10:05:33 +0300
committerJohannes Berg <johannes.berg@intel.com>2023-03-30 13:08:42 +0300
commitef36f1df198b57e2c9c1fe249f537cd64a762f9f (patch)
tree30fcec74fbec825096a29a264df4bd7793610e85 /drivers
parentf699f039cdb6e028d1f40cb54e73f85cd5d459bd (diff)
downloadlinux-ef36f1df198b57e2c9c1fe249f537cd64a762f9f.tar.xz
wifi: iwlwifi: mvm: update mac config when assigning chanctx
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c
index beef706d0598..4d56b2fc5f33 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c
@@ -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) {