Linux wireless drivers development
 help / color / mirror / Atom feed
From: Ping-Ke Shih <pkshih@realtek.com>
To: Shalok Shalom <shalokshalom@protonmail.ch>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: RE: [Bug report] rtw89_8852ae: WoWLAN resume fails with "c2h reg timeout" and "failed to resume for wow -110" on s2idle
Date: Mon, 9 Nov 2026 03:53:14 +0000	[thread overview]
Message-ID: <79a2803d1fa943729cdd086fd5f4e84b@realtek.com> (raw)
In-Reply-To: <zvVKbBQduN7iovmmy-oy6UZgR0AOBhnGgl9YuUrYtH48IGxvXoTr-iRZbEp-XyQgxq7LNuQxwRJ16cjQziq2sUKpe4b8UeSr6cNS46TBJQM=@protonmail.ch>

Shalok Shalom <shalokshalom@protonmail.ch> wrote:
> Hi,
> 
> I am reporting a reproducible failure in the `rtw89` driver for the Realtek RTL8852AE (PCIe) when using
> Wake-on-WLAN (WoWLAN) with `s2idle` suspend. This does not happen always, but frequently.
> The system fails to resume from suspend when a magic packet is received, and the kernel log shows a
> firmware communication timeout followed by a failure to swap back to normal firmware.
> 
> The failure begins at `rtw89_fw_read_c2h_reg()` (the C2H timeout), which cascades into the AOAC read
> failure and the firmware swap failure (`-110`). The driver's recovery path has been hardened against
> a subsequent crash (CVE-2025-21730), but the initial timeout on the PCIe interface during `s2idle` resume
> is not resolved by any patch I could identify in the current source tree.
> 
> 
> Hardware and Software Environment
> 
> -   Laptop: Lenovo Yoga 7 Carbon 14ACN6
> 
> -   Wi-Fi: Realtek RTL8852AE (PCIe)
> 
> -   Kernel: 7.2.11-zen1-1-zen (Zen branch) and 6.18.57-2 (LTS branch)
> 
> -   Firmware: rtw8852a_fw-1.bin, version 0.13.36.2
> 
> -   Sleep state: s2idle (S3 is not exposed by the firmware; confirmed via `cat /sys/power/mem_sleep`)
> 
> -   WoWLAN trigger: magic-packet only (`iw phy0 wowlan enable magic-packet`)
> 
> 
> 
> 
> Steps to Reproduce
> 
> 1.  Enable WoWLAN: `sudo iw phy0 wowlan enable magic-packet`

Please try to disable d3cold before entering suspend.

echo 0 > /sys/bus/pci/devices/<device_address>/d3cold_allowed

Use 'lspci' to check the <device_address>.

> 
> 2.  Suspend: `systemctl suspend`
> 
> 3.  Send a WoL magic packet to the laptop's Wi-Fi MAC address from another device on the same network.
> (Via OpenWOL from Android)
> 
> 4.  Observe: the laptop does not wake.
> 
> 
> 
> Output of lspci -nnk
> 
> 01:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8852AE 802.11ax PCIe Wireless
> Network Adapter [10ec:8852]
> Subsystem: Lenovo Device [17aa:4852]
> Kernel driver in use: rtw89_8852ae
> Kernel modules: rtw89_8852ae
> 
> Actual Behavior
> 
> The system fails to resume from `s2idle`. The following `dmesg` sequence is captured after a failed
> wake attempt:
> 
> [ 2359.543559] rtw89_8852ae 0000:01:00.0: c2h reg timeout[ 2359.543563] rtw89_8852ae 0000:01:00.0: wow:
> failed to get aoac rpt by reg
> [ 2359.644802] rtw89_8852ae 0000:01:00.0: wow: failed to get aoac rpt by pkt
> [ 2360.305270] rtw89_8852ae 0000:01:00.0: failed to check wow status disabled
> [ 2360.305278] rtw89_8852ae 0000:01:00.0: wow: failed to check disable fw ready
> [ 2360.305280] rtw89_8852ae 0000:01:00.0: wow: failed to swap to normal fw
> [ 2360.305282] rtw89_8852ae 0000:01:00.0: failed to disable wow
> [ 2360.305285] rtw89_8852ae 0000:01:00.0: failed to resume for wow -110
> [ 2361.916657] rtw89_8852ae 0000:01:00.0: rtw89_hw_scan_offload failed ret -110
> [ 2361.921475] rtw89_8852ae 0000:01:00.0: failed to set wakeup event
> [ 2361.921483] rtw89_8852ae 0000:01:00.0: failed to suspend for wow -1

Since you didn't share the log before these errors, I just guess the device got lost
from d3cold resume. Please try the command above.




      reply	other threads:[~2026-11-09  3:53 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-22  8:46 [Bug report] rtw89_8852ae: WoWLAN resume fails with "c2h reg timeout" and "failed to resume for wow -110" on s2idle Shalok Shalom
2026-11-09  3:53 ` Ping-Ke Shih [this message]

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=79a2803d1fa943729cdd086fd5f4e84b@realtek.com \
    --to=pkshih@realtek.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=shalokshalom@protonmail.ch \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox