wifi: mt76: mt7996: fix traffic delay when switching back to working channel
authorPeter Chiu <chui-hao.chiu@mediatek.com>
Fri, 16 Aug 2024 09:46:26 +0000 (17:46 +0800)
committerFelix Fietkau <nbd@nbd.name>
Thu, 5 Sep 2024 11:01:55 +0000 (13:01 +0200)
During scanning, UNI_CHANNEL_RX_PATH tag is necessary for the firmware to
properly stop and resume MAC TX queue. Without this tag, HW needs more time
to resume traffic when switching back to working channel.

Fixes: 98686cd21624 ("wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices")
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Link: https://patch.msgid.link/20240816094635.2391-2-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7996/main.c

index bce0820382194db29db7a2bb0547217362cc72ec..f3f78e11a65f24c594e661bc25d634a0e9ad87af 100644 (file)
@@ -307,6 +307,10 @@ int mt7996_set_channel(struct mt7996_phy *phy)
        if (ret)
                goto out;
 
+       ret = mt7996_mcu_set_chan_info(phy, UNI_CHANNEL_RX_PATH);
+       if (ret)
+               goto out;
+
        ret = mt7996_dfs_init_radar_detector(phy);
        mt7996_mac_cca_stats_reset(phy);