[PATCH] rtl8xxxu: disable interrupt_in transfer for 8188cu and 8192cu

Subsystems: rtl8xxxu wireless driver (rtl8xxxu), the rest

STALE1828d LANDED

Landed in mainline as f62cdab7f5db on 2021-08-21.

4 messages, 4 authors, 2021-08-21 · open the first message on its own page

[PATCH] rtl8xxxu: disable interrupt_in transfer for 8188cu and 8192cu

From: <hidden>
Date: 2021-07-01 16:34:22

From: Chris Chiu <redacted>

There will be crazy numbers of interrupts triggered by 8188cu and
8192cu module, around 8000~10000 interrupts per second, on the usb
host controller. Compare with the vendor driver source code, it's
mapping to the configuration CONFIG_USB_INTERRUPT_IN_PIPE and it is
disabled by default.

Since the interrupt transfer is neither used for TX/RX nor H2C
commands. Disable it to avoid the confusing interrupts for the
8188cu and 8192cu module which I only have for verification.

Signed-off-by: Chris Chiu <redacted>
---
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
index 03c6ed7efe06..6a3dfa71b27f 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -1670,7 +1670,7 @@ static int rtl8xxxu_identify_chip(struct rtl8xxxu_priv *priv)
 			priv->rf_paths = 2;
 			priv->rx_paths = 2;
 			priv->tx_paths = 2;
-			priv->usb_interrupts = 1;
+			priv->usb_interrupts = 0;
 			priv->rtl_chip = RTL8192C;
 		}
 		priv->has_wifi = 1;
@@ -1680,7 +1680,7 @@ static int rtl8xxxu_identify_chip(struct rtl8xxxu_priv *priv)
 		priv->rx_paths = 1;
 		priv->tx_paths = 1;
 		priv->rtl_chip = RTL8188C;
-		priv->usb_interrupts = 1;
+		priv->usb_interrupts = 0;
 		priv->has_wifi = 1;
 	}
 
-- 
2.20.1

Re: [PATCH] rtl8xxxu: disable interrupt_in transfer for 8188cu and 8192cu

From: Reto Schneider <hidden>
Date: 2021-07-05 00:44:09

On 01.07.21 18:33, chris.chiu@canonical.com wrote:
There will be crazy numbers of interrupts triggered by 8188cu and
8192cu module, around 8000~10000 interrupts per second, on the usb
host controller. Compare with the vendor driver source code, it's
mapping to the configuration CONFIG_USB_INTERRUPT_IN_PIPE and it is
disabled by default.

Since the interrupt transfer is neither used for TX/RX nor H2C
commands. Disable it to avoid the confusing interrupts for the
8188cu and 8192cu module which I only have for verification.
I tested the new code on the GARDENA smart gateway and it works as 
expected. Interrupts are greatly reduced while the same level of TX/RX 
performance could be measured as before the change: A (too) high 
percentage of retransmissions, but otherwise fine.

Tested-by: reto.schneider@husqvarnagroup.com

Kind regards,
Reto

Re: [PATCH] rtl8xxxu: disable interrupt_in transfer for 8188cu and 8192cu

From: Jes Sorensen <jes.sorensen@gmail.com>
Date: 2021-07-06 17:36:02

On 7/1/21 12:33 PM, chris.chiu@canonical.com wrote:
From: Chris Chiu <redacted>

There will be crazy numbers of interrupts triggered by 8188cu and
8192cu module, around 8000~10000 interrupts per second, on the usb
host controller. Compare with the vendor driver source code, it's
mapping to the configuration CONFIG_USB_INTERRUPT_IN_PIPE and it is
disabled by default.

Since the interrupt transfer is neither used for TX/RX nor H2C
commands. Disable it to avoid the confusing interrupts for the
8188cu and 8192cu module which I only have for verification.

Signed-off-by: Chris Chiu <redacted>
I remember noticing this earlier but never had a chance to dig into it.

Thanks for fixing this!

Acked-by: Jes Sorensen <Jes.Sorensen@gmail.com>

Jes

Re: rtl8xxxu: disable interrupt_in transfer for 8188cu and 8192cu

From: Kalle Valo <hidden>
Date: 2021-08-21 18:17:41

chris.chiu@canonical.com wrote:
From: Chris Chiu <redacted>

There will be crazy numbers of interrupts triggered by 8188cu and
8192cu module, around 8000~10000 interrupts per second, on the usb
host controller. Compare with the vendor driver source code, it's
mapping to the configuration CONFIG_USB_INTERRUPT_IN_PIPE and it is
disabled by default.

Since the interrupt transfer is neither used for TX/RX nor H2C
commands. Disable it to avoid the excessive amount of interrupts
for the 8188cu and 8192cu module which I only have for verification.

Signed-off-by: Chris Chiu <redacted>
Tested-by: reto.schneider@husqvarnagroup.com
Acked-by: Jes Sorensen <Jes.Sorensen@gmail.com>
Patch applied to wireless-drivers-next.git, thanks.

f62cdab7f5db rtl8xxxu: disable interrupt_in transfer for 8188cu and 8192cu

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/20210701163354.118403-1-chris.chiu@canonical.com/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help