wifi: rtw89: fix disabling concurrent mode TX hang issue
authorChih-Kang Chang <gary.chang@realtek.com>
Fri, 19 Jan 2024 08:15:01 +0000 (16:15 +0800)
committerKalle Valo <kvalo@kernel.org>
Tue, 23 Jan 2024 11:38:16 +0000 (13:38 +0200)
When disabling concurrent mode and switching to a single interface, the
TX might stuck. The reason is TBTT prohibit area circuit still enable
to block TX. To disable tbtt prohibit area circuit need to delay 2ms to
make it effective. However, we only delay 2us in original code. So we
fix it.

Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240119081501.25223-9-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/mac.c

index b224d06e5f3c8f2a3b23c8f4568b346fa3f80627..eb94e832e154dd9a0d7b87267dacaade045f7ffc 100644 (file)
@@ -4072,7 +4072,7 @@ static void rtw89_mac_bcn_drop(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvi
 
        rtw89_write32_clr(rtwdev, R_AX_BCN_DROP_ALL0, BIT(rtwvif->port));
        rtw89_write32_port_clr(rtwdev, rtwvif, p->port_cfg, B_AX_TBTT_PROHIB_EN);
-       fsleep(2);
+       fsleep(2000);
 }
 
 #define BCN_INTERVAL 100