[PATCH ath-next 0/3] wifi: ath11k: more firmware crash recovery fixes for AHB

From: Florian Maurer

Date: Sun Nov 01 2026 - 07:59:50 EST


Three patches on top of Julius Bairaktaris' "wifi: ath11k: firmware crash
recovery fixes" v2 [1], for firmware crash recovery on IPQ8074 (AHB).

Patch 1 keeps the ext IRQs from being disabled twice when a recovery
follows a failed one. With 2/5 and 3/5 of [1] a failed recovery is
recoverable, but without this patch TX completions stop afterwards.

Patch 2 turns the "select RPMSG" of ATH11K_AHB into a dependency, which
patch 3 needs to depend on QCOM_RPROC_COMMON without a recursive
Kconfig dependency.

Patch 3 stops TX before remoteproc resets WCSS on a firmware crash.
Today a TX in that window ends in an asynchronous SError and a kernel
panic. It depends on 4/5 of [1].

Patches 1 and 3 were tested on a Xiaomi AX3600 (IPQ8074,
WLAN.HK.2.9.0.1-02146) together with [1], backported to
backports-6.18.55 (OpenWrt 25.12), with real firmware asserts under AP
and mesh load, with simulated crashes, and with a forced failed
recovery followed by another crash.

Not covered yet, both to be addressed separately:
- A second firmware crash 10-20 ms after the firmware is up again can
make the QMI firmware start fail before the CE pipes are set up
again; the next recovery then dereferences the cleared srngs in
ath11k_ce_cleanup_pipes(). This is not caused by these patches; I'm
reporting it in the thread of [1].
- A crash within the few milliseconds before the restart work clears
ATH11K_FLAG_CRASH_FLUSH (see patch 3).

[1] https://lore.kernel.org/linux-wireless/20261018210153.1925962-1-julius@xxxxxxxxxxxxxx/

Florian Maurer (3):
wifi: ath11k: don't disable ext IRQs twice
wifi: ath11k: depend on RPMSG instead of selecting it
wifi: ath11k: ahb: stop TX before WCSS is reset on a firmware crash

drivers/net/wireless/ath/ath11k/Kconfig | 3 +-
drivers/net/wireless/ath/ath11k/ahb.c | 63 ++++++++++++++++++++++++-
drivers/net/wireless/ath/ath11k/ahb.h | 2 +
drivers/net/wireless/ath/ath11k/ce.c | 7 +++
drivers/net/wireless/ath/ath11k/core.c | 1 +
drivers/net/wireless/ath/ath11k/hw.h | 1 +
drivers/net/wireless/ath/ath11k/pcic.c | 4 +-
7 files changed, 76 insertions(+), 5 deletions(-)


base-commit: 7b14c8f4a9615579b09cbcdc4515b65ae6124753
prerequisite-patch-id: cd9f2849ade92e165f15fe3f887edabd1d06b6e8
prerequisite-patch-id: 3c9ba2aec0d93942448aba1dc5d26b632d519e5a
prerequisite-patch-id: 9a833c602db147b490fba6df590eeea3847f4877
prerequisite-patch-id: 6fd3e11242fb3ead65751e3cd9972c4d7c63f989
prerequisite-patch-id: 01e149ed860e5e40e79725580548ce4034f344b2
--
2.47.3