[PATCH 0/5] wifi: ath12k: fixes to improve MLO station stability
Jeff Johnson
jeff.johnson at oss.qualcomm.com
Fri Jul 31 15:04:01 PDT 2026
On 7/27/2026 9:27 AM, Jose Ignacio Tornos Martinez wrote:
> This series improves firmware crash recovery and connection stability
> for MLO (Wi-Fi 7) stations on ath12k. Both work correctly for non-MLO
> (Wi-Fi 6) stations, where the driver handles the full teardown and
> reconnect cycle without issues and maintains stable connections. This
> series brings MLO to the same level.
>
> Without these fixes, a firmware crash during an active MLO connection
> results in kernel warnings, NULL pointer dereferences, 20+ second
> recovery delays, and periodic disconnections both after recovery and
> during normal operation under heavy traffic.
>
> Patches 1-3 fix firmware crash recovery:
>
> Patch 1 moves the RECOVERY flag clear to reconfig_complete and adds
> CRASH_FLUSH guards to prevent operations on dead firmware.
> Patch 2 prevents scans during recovery to avoid NULL dereferences.
> Patch 3 fixes ML peer ID desync between host and firmware by syncing
> the peer ID from firmware's actual value.
>
> Patches 4-5 fix MLO beacon miss handling:
>
> Patch 4 fixes beacon_iter to iterate all MLO links instead of only
> deflink for BSSID matching and connection_loss_work
> cancellation.
> Patch 5 complements patch 4 by skipping connection_loss_work for MLO
> entirely, since its cancellation mechanism is unreliable and
> the mac80211 probe triggered by ieee80211_beacon_loss() is
> sufficient to detect real AP unreachability, as done by other
> MLO-capable drivers such as mt76 and rtw89.
>
> Tested on WCN7850 with MLO (Wi-Fi 7).
> Firmware crashes were observed to occur spontaneously during normal
> MLO operation with intense traffic testing, though rarely.
> The debugfs simulate_fw_crash interface was used for systematic testing
> and reproduction during active MLO connections with traffic.
>
> Note: I will have limited availability from mid-August to
> mid-September. I will address any review feedback before then
> or promptly after returning.
>
> Jose Ignacio Tornos Martinez (5):
> wifi: ath12k: fix MLO station firmware crash recovery
> wifi: ath12k: prevent scan during firmware recovery
> wifi: ath12k: fix MLO dp_peer ID desync with firmware
> wifi: ath12k: fix MLO beacon handling using per-link addressing
> wifi: ath12k: skip connection_loss_work for MLO beacon miss
>
This series doesn't apply to ath/main, please rebase:
Applying: wifi: ath12k: fix MLO station firmware crash recovery
Using index info to reconstruct a base tree...
M drivers/net/wireless/ath/ath12k/core.c
M drivers/net/wireless/ath/ath12k/hal.c
M drivers/net/wireless/ath/ath12k/mac.c
M drivers/net/wireless/ath/ath12k/peer.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/net/wireless/ath/ath12k/peer.c
CONFLICT (content): Merge conflict in drivers/net/wireless/ath/ath12k/peer.c
Auto-merging drivers/net/wireless/ath/ath12k/mac.c
Auto-merging drivers/net/wireless/ath/ath12k/hal.c
Auto-merging drivers/net/wireless/ath/ath12k/core.c
Recorded preimage for 'drivers/net/wireless/ath/ath12k/peer.c'
error: Failed to merge in the changes.
Patch failed at 0001 wifi: ath12k: fix MLO station firmware crash recovery
More information about the ath12k
mailing list