2023-03-13 13:43:07

by Bitterblue Smith

[permalink] [raw]
Subject: [PATCH] wifi: rtl8xxxu: RTL8192EU always needs full init

Always run the entire init sequence (rtl8xxxu_init_device()) for
RTL8192EU. It's what the vendor driver does too.

This fixes a bug where the device is unable to connect after
rebooting:

wlp3s0f3u2: send auth to ... (try 1/3)
wlp3s0f3u2: send auth to ... (try 2/3)
wlp3s0f3u2: send auth to ... (try 3/3)
wlp3s0f3u2: authentication with ... timed out

Rebooting leaves the device powered on (partially? at least the
firmware is still running), but not really in a working state.

Cc: [email protected]
Signed-off-by: Bitterblue Smith <[email protected]>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c
index 0bd1b527b420..4498748164af 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c
@@ -1820,6 +1820,7 @@ struct rtl8xxxu_fileops rtl8192eu_fops = {
.rx_desc_size = sizeof(struct rtl8xxxu_rxdesc24),
.has_s0s1 = 0,
.gen2_thermal_meter = 1,
+ .needs_full_init = 1,
.adda_1t_init = 0x0fc01616,
.adda_1t_path_on = 0x0fc01616,
.adda_2t_path_on_a = 0x0fc01616,
--
2.39.2


2023-03-13 14:02:38

by Jes Sorensen

[permalink] [raw]
Subject: Re: [PATCH] wifi: rtl8xxxu: RTL8192EU always needs full init

On 3/13/23 09:42, Bitterblue Smith wrote:
> Always run the entire init sequence (rtl8xxxu_init_device()) for
> RTL8192EU. It's what the vendor driver does too.
>
> This fixes a bug where the device is unable to connect after
> rebooting:
>
> wlp3s0f3u2: send auth to ... (try 1/3)
> wlp3s0f3u2: send auth to ... (try 2/3)
> wlp3s0f3u2: send auth to ... (try 3/3)
> wlp3s0f3u2: authentication with ... timed out
>
> Rebooting leaves the device powered on (partially? at least the
> firmware is still running), but not really in a working state.
>
> Cc: [email protected]
> Signed-off-by: Bitterblue Smith <[email protected]>
> ---
> drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c | 1 +
> 1 file changed, 1 insertion(+)

Acked-by: Jes Sorensen <[email protected]>

> diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c
> index 0bd1b527b420..4498748164af 100644
> --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c
> +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c
> @@ -1820,6 +1820,7 @@ struct rtl8xxxu_fileops rtl8192eu_fops = {
> .rx_desc_size = sizeof(struct rtl8xxxu_rxdesc24),
> .has_s0s1 = 0,
> .gen2_thermal_meter = 1,
> + .needs_full_init = 1,
> .adda_1t_init = 0x0fc01616,
> .adda_1t_path_on = 0x0fc01616,
> .adda_2t_path_on_a = 0x0fc01616,


2023-03-20 05:54:28

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] wifi: rtl8xxxu: RTL8192EU always needs full init

Bitterblue Smith <[email protected]> wrote:

> Always run the entire init sequence (rtl8xxxu_init_device()) for
> RTL8192EU. It's what the vendor driver does too.
>
> This fixes a bug where the device is unable to connect after
> rebooting:
>
> wlp3s0f3u2: send auth to ... (try 1/3)
> wlp3s0f3u2: send auth to ... (try 2/3)
> wlp3s0f3u2: send auth to ... (try 3/3)
> wlp3s0f3u2: authentication with ... timed out
>
> Rebooting leaves the device powered on (partially? at least the
> firmware is still running), but not really in a working state.
>
> Cc: [email protected]
> Signed-off-by: Bitterblue Smith <[email protected]>
> Acked-by: Jes Sorensen <[email protected]>

Patch applied to wireless-next.git, thanks.

d46e04ccd404 wifi: rtl8xxxu: RTL8192EU always needs full init

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches