All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bitterblue Smith <rtl8821cerfe2@gmail.com>
To: stable@vger.kernel.org
Subject: [PATCH] wifi: rtw88: 8821cu: Fix connection failure
Date: Sat, 23 Mar 2024 18:18:07 +0200	[thread overview]
Message-ID: <aa20f8ba-d626-4f82-9312-6cc2a4cfc097@gmail.com> (raw)
In-Reply-To: <f12ed39d-28e8-4b8b-8d22-447bcf295afc@gmail.com>

From: Bitterblue Smith <rtl8821cerfe2@gmail.com>

[ Upstream commit 605d7c0b05eecb985273b1647070497142c470d3 ]

Clear bit 8 of REG_SYS_STATUS1 after MAC power on.

Without this, some RTL8821CU and RTL8811CU cannot connect to any
network:

Feb 19 13:33:11 ideapad2 kernel: wlp3s0f3u2: send auth to
	90:55:de:__:__:__ (try 1/3)
Feb 19 13:33:13 ideapad2 kernel: wlp3s0f3u2: send auth to
	90:55:de:__:__:__ (try 2/3)
Feb 19 13:33:14 ideapad2 kernel: wlp3s0f3u2: send auth to
	90:55:de:__:__:__ (try 3/3)
Feb 19 13:33:15 ideapad2 kernel: wlp3s0f3u2: authentication with
	90:55:de:__:__:__ timed out

The RTL8822CU and RTL8822BU out-of-tree drivers do this as well, so do
it for all three types of chips.

Tested with RTL8811CU (Tenda U9 V2.0).

Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/aeeefad9-27c8-4506-a510-ef9a9a8731a4@gmail.com
---
 drivers/net/wireless/realtek/rtw88/mac.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/realtek/rtw88/mac.c
index 298663b03580..0c1c1ff31085 100644
--- a/drivers/net/wireless/realtek/rtw88/mac.c
+++ b/drivers/net/wireless/realtek/rtw88/mac.c
@@ -309,6 +309,13 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
 	pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq;
 	ret = rtw_pwr_seq_parser(rtwdev, pwr_seq);
 
+	if (pwr_on && rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB) {
+		if (chip->id == RTW_CHIP_TYPE_8822C ||
+		    chip->id == RTW_CHIP_TYPE_8822B ||
+		    chip->id == RTW_CHIP_TYPE_8821C)
+			rtw_write8_clr(rtwdev, REG_SYS_STATUS1 + 1, BIT(0));
+	}
+
 	if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_SDIO)
 		rtw_write32(rtwdev, REG_SDIO_HIMR, imr);
 
-- 
2.43.2

  parent reply	other threads:[~2024-03-23 16:18 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-29 22:32 [PATCH v2 1/4] wifi: rtw88: 8821cu: Fix firmware upload fail Bitterblue Smith
2024-02-29 22:34 ` [PATCH v2 2/4] wifi: rtw88: 8821cu: Fix connection failure Bitterblue Smith
2024-03-01  0:27   ` Ping-Ke Shih
2024-02-29 22:35 ` [PATCH v2 3/4] wifi: rtw88: 8821c: Fix beacon loss and disconnect Bitterblue Smith
2024-03-01  0:28   ` Ping-Ke Shih
2024-02-29 22:35 ` [PATCH v2 4/4] wifi: rtw88: 8821c: Fix false alarm count Bitterblue Smith
2024-03-01  0:29   ` Ping-Ke Shih
2024-03-01  0:27 ` [PATCH v2 1/4] wifi: rtw88: 8821cu: Fix firmware upload fail Ping-Ke Shih
2024-03-05 17:44 ` Kalle Valo
2024-03-23 16:18 ` Bitterblue Smith [this message]
2024-03-23 16:23   ` [PATCH] wifi: rtw88: 8821cu: Fix connection failure Greg KH
2024-03-23 21:48     ` Bitterblue Smith
2024-03-29  9:34       ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aa20f8ba-d626-4f82-9312-6cc2a4cfc097@gmail.com \
    --to=rtl8821cerfe2@gmail.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.