Commit 01605ad6 authored by Johannes Berg's avatar Johannes Berg

wifi: mac80211: fix link activation settings order

In the normal MLME code we always call
ieee80211_mgd_set_link_qos_params() before
ieee80211_link_info_change_notify() and some drivers,
notably iwlwifi, rely on that as they don't do anything
(but store the data) in their conf_tx.

Fix the order here to be the same as in the normal code
paths, so this isn't broken.

Fixes: 3d901102 ("wifi: mac80211: implement link switching")
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarGregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230608163202.a2a86bba2f80.Iac97e04827966d22161e63bb6e201b4061e9651b@changeidSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 996c3117
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
/* /*
* MLO link handling * MLO link handling
* *
* Copyright (C) 2022 Intel Corporation * Copyright (C) 2022-2023 Intel Corporation
*/ */
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/kernel.h> #include <linux/kernel.h>
...@@ -409,6 +409,7 @@ static int _ieee80211_set_active_links(struct ieee80211_sub_if_data *sdata, ...@@ -409,6 +409,7 @@ static int _ieee80211_set_active_links(struct ieee80211_sub_if_data *sdata,
IEEE80211_CHANCTX_SHARED); IEEE80211_CHANCTX_SHARED);
WARN_ON_ONCE(ret); WARN_ON_ONCE(ret);
ieee80211_mgd_set_link_qos_params(link);
ieee80211_link_info_change_notify(sdata, link, ieee80211_link_info_change_notify(sdata, link,
BSS_CHANGED_ERP_CTS_PROT | BSS_CHANGED_ERP_CTS_PROT |
BSS_CHANGED_ERP_PREAMBLE | BSS_CHANGED_ERP_PREAMBLE |
...@@ -423,7 +424,6 @@ static int _ieee80211_set_active_links(struct ieee80211_sub_if_data *sdata, ...@@ -423,7 +424,6 @@ static int _ieee80211_set_active_links(struct ieee80211_sub_if_data *sdata,
BSS_CHANGED_TWT | BSS_CHANGED_TWT |
BSS_CHANGED_HE_OBSS_PD | BSS_CHANGED_HE_OBSS_PD |
BSS_CHANGED_HE_BSS_COLOR); BSS_CHANGED_HE_BSS_COLOR);
ieee80211_mgd_set_link_qos_params(link);
} }
old_active = sdata->vif.active_links; old_active = sdata->vif.active_links;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment