mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
wifi: mt76: mt7996: set specific BSSINFO and STAREC commands after channel switch
After channel switch, some tags of BSSINFO (rfch) and STAREC (bfer, rate_ctrl) commands should also be updated. Otherwise, a BSS might not be able to transmit with its peer using correct bandwidth. Co-developed-by: Shayne Chen <[email protected]> Signed-off-by: Shayne Chen <[email protected]> Signed-off-by: StanleyYP Wang <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
committed by
Felix Fietkau
parent
85c39fb244
commit
3b11a23517
+13
-1
@@ -961,12 +961,24 @@ mt7996_post_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
||||
struct cfg80211_chan_def *chandef = &link_conf->chanreq.oper;
|
||||
struct mt7996_dev *dev = mt7996_hw_dev(hw);
|
||||
struct mt7996_phy *phy = mt7996_band_phy(dev, chandef->chan->band);
|
||||
int ret;
|
||||
struct mt7996_vif_link *link;
|
||||
int ret = -EINVAL;
|
||||
|
||||
mutex_lock(&dev->mt76.mutex);
|
||||
|
||||
link = mt7996_vif_conf_link(dev, vif, link_conf);
|
||||
if (!link)
|
||||
goto out;
|
||||
|
||||
ret = mt7996_mcu_update_bss_rfch(phy, link);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
ieee80211_iterate_stations_mtx(hw, mt7996_mcu_update_sta_rec_bw, link);
|
||||
|
||||
ret = mt7996_mcu_rdd_resume_tx(phy);
|
||||
|
||||
out:
|
||||
mutex_unlock(&dev->mt76.mutex);
|
||||
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user