wifi: rtw89: coex: Not to enable firmware report when WiFi is power saving
authorChing-Te Ku <ku920601@realtek.com>
Tue, 14 Mar 2023 02:06:14 +0000 (10:06 +0800)
committerKalle Valo <kvalo@kernel.org>
Mon, 3 Apr 2023 13:35:36 +0000 (16:35 +0300)
If driver enable firmware report during WiFi power saving, the
firmware timer will lead to some power saving issue like,
fail to enter LPS, can not leave LPS or some unexpected issue.

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/20230314020617.28193-3-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/coex.c

index bd06388ea211e4f0bf4c630c0986b04ec4be4da1..d4a2ed254213b5da48319a7a03358b72082b5104 100644 (file)
@@ -1741,10 +1741,14 @@ static void rtw89_btc_fw_en_rpt(struct rtw89_dev *rtwdev,
                                u32 rpt_map, bool rpt_state)
 {
        struct rtw89_btc *btc = &rtwdev->btc;
+       struct rtw89_btc_wl_smap *wl_smap = &btc->cx.wl.status.map;
        struct rtw89_btc_btf_fwinfo *fwinfo = &btc->fwinfo;
        struct rtw89_btc_btf_set_report r = {0};
        u32 val, bit_map;
 
+       if ((wl_smap->rf_off || wl_smap->lps != BTC_LPS_OFF) && rpt_state != 0)
+               return;
+
        bit_map = rtw89_btc_fw_rpt_ver(rtwdev, rpt_map);
 
        rtw89_debug(rtwdev, RTW89_DBG_BTC,