lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 30 May 2022 15:54:57 +0200
From:   Sascha Hauer <s.hauer@...gutronix.de>
To:     linux-wireless@...r.kernel.org
Cc:     Neo Jou <neojou@...il.com>, Hans Ulli Kroll <linux@...i-kroll.de>,
        Ping-Ke Shih <pkshih@...ltek.com>,
        Yan-Hsuan Chuang <tony0620emma@...il.com>,
        Kalle Valo <kvalo@...nel.org>, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org,
        Martin Blumenstingl <martin.blumenstingl@...glemail.com>,
        kernel@...gutronix.de, Johannes Berg <johannes@...solutions.net>,
        Sascha Hauer <s.hauer@...gutronix.de>
Subject: [PATCH v2 10/10] rtw88: disable powersave modes for USB devices

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

Also ping round trip times increase significantly from 1..2ms to
10..200ms.

Until this has been resolved disable the powersave modes for USB
devices.

Signed-off-by: Sascha Hauer <s.hauer@...gutronix.de>
---
 drivers/net/wireless/realtek/rtw88/mac80211.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/realtek/rtw88/mac80211.c b/drivers/net/wireless/realtek/rtw88/mac80211.c
index 3c07485d6ba47..fb5faf3bf1eed 100644
--- a/drivers/net/wireless/realtek/rtw88/mac80211.c
+++ b/drivers/net/wireless/realtek/rtw88/mac80211.c
@@ -89,7 +89,8 @@ static int rtw_ops_config(struct ieee80211_hw *hw, u32 changed)
 	}
 
 	if (changed & IEEE80211_CONF_CHANGE_PS) {
-		if (hw->conf.flags & IEEE80211_CONF_PS) {
+		if (hw->conf.flags & IEEE80211_CONF_PS &&
+		    rtw_hci_type(rtwdev) != RTW_HCI_TYPE_USB) {
 			rtwdev->ps_enabled = true;
 		} else {
 			rtwdev->ps_enabled = false;
-- 
2.30.2

Powered by blists - more mailing lists