mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 04:04:43 +01:00
wifi: mac80211: fix deactivated link CSA
If the link is deactivated and the CSA completes, then that needs to update the link station's bandwidth (only the AP STA can exist at this point, no TDLS on inactive links) and set the CSA to no longer be active. Fix this. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20250609213231.07f120cf687d.I5a868c501ee73fcc2355d61c2ee06e5f444b350f@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
bc7566fbc4
commit
6f9e701c16
1 changed files with 17 additions and 0 deletions
|
|
@ -2381,9 +2381,26 @@ static void ieee80211_csa_switch_work(struct wiphy *wiphy,
|
|||
* update cfg80211 directly.
|
||||
*/
|
||||
if (!ieee80211_vif_link_active(&sdata->vif, link->link_id)) {
|
||||
struct link_sta_info *link_sta;
|
||||
struct sta_info *ap_sta;
|
||||
|
||||
link->conf->chanreq = link->csa.chanreq;
|
||||
cfg80211_ch_switch_notify(sdata->dev, &link->csa.chanreq.oper,
|
||||
link->link_id);
|
||||
link->conf->csa_active = false;
|
||||
|
||||
ap_sta = sta_info_get(sdata, sdata->vif.cfg.ap_addr);
|
||||
if (WARN_ON(!ap_sta))
|
||||
return;
|
||||
|
||||
link_sta = wiphy_dereference(wiphy,
|
||||
ap_sta->link[link->link_id]);
|
||||
if (WARN_ON(!link_sta))
|
||||
return;
|
||||
|
||||
link_sta->pub->bandwidth =
|
||||
_ieee80211_sta_cur_vht_bw(link_sta,
|
||||
&link->csa.chanreq.oper);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue