Re: [PATCH v2 10/10] rtw88: disable powersave modes for USB devices

From: Ping-Ke Shih
Date: Mon May 30 2022 - 21:08:12 EST


On Mon, 2022-05-30 at 15:54 +0200, Sascha Hauer wrote:
> The powersave modes do not work with USB devices (tested with a
> RTW8822CU) properly. With powersave modes enabled the driver issues
> messages like:
>
> rtw_8822cu 1-1:1.2: firmware failed to leave lps state
> rtw_8822cu 1-1:1.2: timed out to flush queue 3

Could you try module parameter rtw_disable_lps_deep_mode=1 to see
if it can work?

If it works, I suggest to apply below code:

diff --git a/main.c b/main.c
index 3f7a5d54..3bb07898 100644
--- a/main.c
+++ b/main.c
@@ -1345,6 +1345,9 @@ static enum rtw_lps_deep_mode rtw_update_lps_deep_mode(struct rtw_dev *rtwdev,
{
struct rtw_chip_info *chip = rtwdev->chip;

+ if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB)
+ return LPS_DEEP_MODE_NONE;
+
if (rtw_disable_lps_deep_mode || !chip->lps_deep_mode_supported ||
!fw->feature)
return LPS_DEEP_MODE_NONE;

--
Ping-Ke