[PATCH v3 0/2] wifi: rtw88: firmware recovery fixes and LPS hang handling

From: Kalpesh Solanki

Date: Sun Nov 08 2026 - 03:53:05 EST


This series addresses firmware recovery issues in rtw88.

Patch 1/2 from the v2 series (DMI quirk for HP Laptop 15s-fr5xxx) was
already applied to rtw-next. In this v3 series, patch 2/2 is replaced
and an additional fix is included based on feedback from Luka Gejak:

1. Patch 1/2 clears RTW_FLAG_RESTARTING in rtw_ops_stop() to fix a
pre-existing bug where recovery remains permanently disabled if the
interface is stopped or suspended before drv_reconfig_complete() is
called.

2. Patch 2/2 replaces the previous LPS leave recovery change: instead
of immediately triggering hardware restart on a single timeout (which
causes spurious resets on noisy links or beacon loss), it introduces
a consecutive hang counter (RTW_PS_HANG_MAX_CNT = 3) matching rtw89.
The counter is reset on success and in rtw_core_start().

Changes in v3:
- Note: v2 patch 1/2 (DMI quirk) is already applied in rtw-next.
- Add patch 1/2 to clear RTW_FLAG_RESTARTING in rtw_ops_stop()
with Fixes tag.
- In patch 2/2:
- Count consecutive failures before triggering recovery
(RTW_PS_HANG_MAX_CNT = 3).
- Reset ps_hang_cnt on successful LPS leave and in rtw_core_start().
- Suppress raw register dump on transient failures to avoid log spam.

Kalpesh Solanki (2):
wifi: rtw88: clear RTW_FLAG_RESTARTING in rtw_ops_stop()
wifi: rtw88: ps: trigger firmware recovery only after consecutive LPS
leave failures

drivers/net/wireless/realtek/rtw88/mac80211.c | 1 +
drivers/net/wireless/realtek/rtw88/main.c | 2 ++
drivers/net/wireless/realtek/rtw88/main.h | 1 +
drivers/net/wireless/realtek/rtw88/ps.c | 9 ++++++++-
drivers/net/wireless/realtek/rtw88/ps.h | 1 +
5 files changed, 13 insertions(+), 1 deletion(-)

--
2.53.0