From: Andrey Skvortsov <andrej.skvortzov@gmail.com>
To: Ping-Ke Shih <pkshih@realtek.com>
Cc: linux-wireless@vger.kernel.org, piotr.oniszczuk@gmail.com,
rtl8821cerfe2@gmail.com, stable@vger.kernel.org,
regressions@lists.linux.dev,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Subject: Re: [PATCH rtw-next] wifi: rtw88: sdio: use indirect IO for device registers before power-on
Date: Sat, 22 Nov 2025 19:57:41 +0300 [thread overview]
Message-ID: <aSHrhbt29k6GJB8e@skv.local> (raw)
In-Reply-To: <20250724004815.7043-1-pkshih@realtek.com>
Hi,
This patch was recently backported to stable kernels (v6.12.58) and it broke
wlan on PinePhone, that uses 8723cs SDIO chip. The same problem
appears of course on latest 6.18-rc6. Reverting this change resolves
the problem.
```
$ sudo dmesg | grep -i rtw88
[ 24.940551] rtw88_8723cs mmc1:0001:1: WOW Firmware version 11.0.0, H2C version 0
[ 24.953085] rtw88_8723cs mmc1:0001:1: Firmware version 11.0.0, H2C version 0
[ 24.955892] rtw88_8723cs mmc1:0001:1: sdio read32 failed (0xf0): -110
[ 24.973135] rtw88_8723cs mmc1:0001:1: sdio write8 failed (0x1c): -110
[ 24.980673] rtw88_8723cs mmc1:0001:1: sdio read32 failed (0xf0): -110
...
[ 25.446691] rtw88_8723cs mmc1:0001:1: sdio read8 failed (0x100): -110
[ 25.453569] rtw88_8723cs mmc1:0001:1: mac power on failed
[ 25.459077] rtw88_8723cs mmc1:0001:1: failed to power on mac
[ 25.464841] rtw88_8723cs mmc1:0001:1: failed to setup chip efuse info
[ 25.464856] rtw88_8723cs mmc1:0001:1: failed to setup chip information
[ 25.478341] rtw88_8723cs mmc1:0001:1: probe with driver rtw88_8723cs failed with error -114
```
On 25-07-24 08:48, Ping-Ke Shih wrote:
> The register REG_SYS_CFG1 is used to determine chip basic information
> as arguments of following flows, such as download firmware and load PHY
> parameters, so driver read the value early (before power-on).
>
> However, the direct IO is disallowed before power-on, or it causes wrong
> values, which driver recognizes a chip as a wrong type RF_1T1R, but
> actually RF_2T2R, causing driver warns:
>
> rtw88_8822cs mmc1:0001:1: unsupported rf path (1)
>
> Fix it by using indirect IO before power-on.
>
> Reported-by: Piotr Oniszczuk <piotr.oniszczuk@gmail.com>
> Closes: https://lore.kernel.org/linux-wireless/699C22B4-A3E3-4206-97D0-22AB3348EBF6@gmail.com/T/#t
> Suggested-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
> ---
> drivers/net/wireless/realtek/rtw88/sdio.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/wireless/realtek/rtw88/sdio.c b/drivers/net/wireless/realtek/rtw88/sdio.c
> index cc2d4fef3587..99d7c629eac6 100644
> --- a/drivers/net/wireless/realtek/rtw88/sdio.c
> +++ b/drivers/net/wireless/realtek/rtw88/sdio.c
> @@ -144,6 +144,10 @@ static u32 rtw_sdio_to_io_address(struct rtw_dev *rtwdev, u32 addr,
>
> static bool rtw_sdio_use_direct_io(struct rtw_dev *rtwdev, u32 addr)
> {
> + if (!test_bit(RTW_FLAG_POWERON, rtwdev->flags) &&
> + !rtw_sdio_is_bus_addr(addr))
> + return false;
> +
> return !rtw_sdio_is_sdio30_supported(rtwdev) ||
> rtw_sdio_is_bus_addr(addr);
> }
> --
> 2.25.1
>
--
Best regards,
Andrey Skvortsov
next prev parent reply other threads:[~2025-11-22 16:57 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-24 0:48 [PATCH rtw-next] wifi: rtw88: sdio: use indirect IO for device registers before power-on Ping-Ke Shih
2025-07-24 9:14 ` Ping-Ke Shih
2025-07-24 20:26 ` Martin Blumenstingl
2025-08-12 8:02 ` Ping-Ke Shih
2025-11-22 16:57 ` Andrey Skvortsov [this message]
2025-11-24 8:16 ` Ping-Ke Shih
2025-11-24 23:08 ` Andrey Skvortsov
2025-11-25 0:36 ` Ping-Ke Shih
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=aSHrhbt29k6GJB8e@skv.local \
--to=andrej.skvortzov@gmail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=piotr.oniszczuk@gmail.com \
--cc=pkshih@realtek.com \
--cc=regressions@lists.linux.dev \
--cc=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.