Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH rtw-next] wifi: rtw89: 8851b: avoid using CPUIO feature with old firmware
@ 2026-09-16  7:40 Ping-Ke Shih
  2026-09-16  8:21 ` Maxim Skokov
  2026-09-23  2:12 ` Ping-Ke Shih
  0 siblings, 2 replies; 3+ messages in thread
From: Ping-Ke Shih @ 2026-09-16  7:40 UTC (permalink / raw)
  To: linux-wireless; +Cc: gary.chang, skokovmaksimevg

From: Chih-Kang Chang <gary.chang@realtek.com>

The old firmware for RTL8851B doesn't support CPUIO feature. Add firmware
feature check to avoid C2H register polling timeout.

Reported-by: Maxim Skokov <skokovmaksimevg@gmail.com>
Closes: https://lore.kernel.org/linux-wireless/20260912193939.5565-1-skokovmaksimevg@gmail.com/
Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
---
 drivers/net/wireless/realtek/rtw89/fw.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
index fa30543a8b42..8866c81edc7d 100644
--- a/drivers/net/wireless/realtek/rtw89/fw.c
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
@@ -892,6 +892,7 @@ static const struct __fw_feat_cfg fw_feat_tbl[] = {
 	__CFG_FW_FEAT(RTL8851B, ge, 0, 29, 37, 1, TX_WAKE),
 	__CFG_FW_FEAT(RTL8851B, ge, 0, 29, 37, 1, SCAN_OFFLOAD),
 	__CFG_FW_FEAT(RTL8851B, ge, 0, 29, 41, 0, CRASH_TRIGGER_TYPE_0),
+	__CFG_FW_FEAT(RTL8851B, lt, 0, 29, 57, 0, NO_WOW_CPU_IO_RX),
 	__CFG_FW_FEAT(RTL8851B, ge, 0, 29, 127, 0, SER_L1_BY_EVENT),
 	__CFG_FW_FEAT(RTL8851B, ge, 0, 29, 130, 0, SIM_SER_L0L1_BY_HALT_H2C),
 	__CFG_FW_FEAT(RTL8852A, le, 0, 13, 29, 0, OLD_HT_RA_FORMAT),

base-commit: 73e3b1c94c7d5b4a113e7cbb42665dc2fe3b9d78
prerequisite-patch-id: a874231735fadfceb48a05d7f3b8e9c698976037
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH rtw-next] wifi: rtw89: 8851b: avoid using CPUIO feature with old firmware
  2026-09-16  7:40 [PATCH rtw-next] wifi: rtw89: 8851b: avoid using CPUIO feature with old firmware Ping-Ke Shih
@ 2026-09-16  8:21 ` Maxim Skokov
  2026-09-23  2:12 ` Ping-Ke Shih
  1 sibling, 0 replies; 3+ messages in thread
From: Maxim Skokov @ 2026-09-16  8:21 UTC (permalink / raw)
  To: pkshih; +Cc: gary.chang, linux-wireless, Maxim Skokov

RTL8851BE, WL_FW 0.29.41.5, so the new entry applies. Applied on 7.3.0-rc1
and rebuilt the rtw89 modules only, one suspend/resume cycle per run with
WoWLAN armed for magic-packet and disconnect.

Without the patch:

  [ 1582.387887] PM: suspend entry (deep)
  [ 1586.067431] rtw89_8851be 0000:02:00.0: c2h reg timeout
  [ 1589.406222] rtw89_8851be 0000:02:00.0: c2h reg timeout
  [ 1592.742446] rtw89_8851be 0000:02:00.0: c2h reg timeout
  [ 1594.422876] rtw89_8851be 0000:02:00.0: Unknown wakeup reason 0
  [ 1597.737909] rtw89_8851be 0000:02:00.0: c2h reg timeout
  [ 1601.043919] rtw89_8851be 0000:02:00.0: c2h reg timeout
  [ 1604.353105] rtw89_8851be 0000:02:00.0: c2h reg timeout
  [ 1604.538816] Restarting tasks: Starting

With it:

  [ 1635.641438] PM: suspend entry (deep)
  [ 1637.703234] rtw89_8851be 0000:02:00.0: Unknown wakeup reason 0
  [ 1638.871251] Restarting tasks: Starting

Six timeouts gone, and the cycle spends 3.2 s instead of 22.2 s between
suspend entry and task restart.

"Unknown wakeup reason 0" is still there in both runs. That is a separate
matter and not what this patch is about, so I mention it only so the tag
is not read as covering it.

Tested-by: Maxim Skokov <skokovmaksimevg@gmail.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH rtw-next] wifi: rtw89: 8851b: avoid using CPUIO feature with old firmware
  2026-09-16  7:40 [PATCH rtw-next] wifi: rtw89: 8851b: avoid using CPUIO feature with old firmware Ping-Ke Shih
  2026-09-16  8:21 ` Maxim Skokov
@ 2026-09-23  2:12 ` Ping-Ke Shih
  1 sibling, 0 replies; 3+ messages in thread
From: Ping-Ke Shih @ 2026-09-23  2:12 UTC (permalink / raw)
  To: Ping-Ke Shih, linux-wireless; +Cc: gary.chang, skokovmaksimevg

Ping-Ke Shih <pkshih@realtek.com> wrote:

> From: Chih-Kang Chang <gary.chang@realtek.com>
> 
> The old firmware for RTL8851B doesn't support CPUIO feature. Add firmware
> feature check to avoid C2H register polling timeout.
> 
> Reported-by: Maxim Skokov <skokovmaksimevg@gmail.com>
> Closes: https://lore.kernel.org/linux-wireless/20260912193939.5565-1-skokovmaksimevg@gmail.com/
> Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com>
> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
> Tested-by: Maxim Skokov <skokovmaksimevg@gmail.com>

1 patch(es) applied to rtw-next branch of rtw.git, thanks.

cb43c5421fb3 wifi: rtw89: 8851b: avoid using CPUIO feature with old firmware

---
https://github.com/pkshih/rtw.git


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-23  2:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-16  7:40 [PATCH rtw-next] wifi: rtw89: 8851b: avoid using CPUIO feature with old firmware Ping-Ke Shih
2026-09-16  8:21 ` Maxim Skokov
2026-09-23  2:12 ` Ping-Ke Shih

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox