wifi: rtw89: coex: Clear Bluetooth HW PTA counter when radio state change
authorChing-Te Ku <ku920601@realtek.com>
Tue, 17 Jan 2023 11:41:03 +0000 (19:41 +0800)
committerKalle Valo <kvalo@kernel.org>
Mon, 13 Feb 2023 17:04:16 +0000 (19:04 +0200)
Reset the counter no matter Wi-Fi is notified turning into power save or
not. With rest the counter coexistence will recognize Bluetooth is hanged
easily.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230117114109.4298-3-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/coex.c

index a9db33e..ee6b5ff 100644 (file)
@@ -5335,7 +5335,6 @@ void rtw89_btc_ntfy_radio_state(struct rtw89_dev *rtwdev, enum btc_rfctrl rf_sta
        }
 
        if (rf_state == BTC_RFCTRL_WL_ON) {
-               btc->dm.cnt_dm[BTC_DCNT_BTCNT_FREEZE] = 0;
                rtw89_btc_fw_en_rpt(rtwdev, RPT_EN_MREG, true);
                val = BTC_WSCB_ACTIVE | BTC_WSCB_ON | BTC_WSCB_BTLOG;
                _write_scbd(rtwdev, val, true);
@@ -5347,6 +5346,8 @@ void rtw89_btc_ntfy_radio_state(struct rtw89_dev *rtwdev, enum btc_rfctrl rf_sta
                        _write_scbd(rtwdev, BTC_WSCB_ALL, false);
        }
 
+       btc->dm.cnt_dm[BTC_DCNT_BTCNT_FREEZE] = 0;
+
        _run_coex(rtwdev, BTC_RSN_NTFY_RADIO_STATE);
 
        wl->status.map.rf_off_pre = wl->status.map.rf_off;