[PATCH ath-next 0/4] wifi: ath12k: harden stats/rate handling for WCN785x stability

From: m . limarencko

Date: Sun Feb 08 2026 - 22:03:41 EST


From: Mikhail Limarenko <m.limarencko@xxxxxxxxx>

Hi Jeff, all,

On QCNFA765/WCN785x (PCI, kernel 6.18.5) we observed three recurring
issues:

- chan info events with frequency not present in local survey range,
producing invalid idx warnings;
- frequent VDEV_STAT polling can block for 3 seconds on fw_stats_done
timeouts and cause visible hitches;
- occasional invalid MCS metadata (for example HE MCS=12) propagates
into mac80211 status handling and correlates with ieee80211_rx_list
warnings.

This series addresses those cases by:
1. returning -EINVAL from freq_to_idx() when no channel matches, and
rejecting negative indexes in callers;
2. reducing the wait on VDEV_STAT fw_stats completion and skipping
unnecessary waits for stats types that do not require it;
3. sanitizing invalid MCS metadata in both dp_rx and dp_mon paths by
falling back to legacy metadata with ratelimited diagnostics.

Tested on:
- hardware: QCNFA765 (WCN785x)
- kernel: 6.18.5+deb13-amd64
- AP mode: 5 GHz (802.11ac)

Observed after applying this series:
- station dump polling no longer shows multi-second stalls in test runs;
- no fresh ieee80211_rx_list WARN was observed in the same windows.

If patch 1/4 is already present in ath-next or stable trees, please drop
it and keep the remaining fixes.

Thanks,
Mikhail Limarenko

Mikhail Limarenko (4):
wifi: ath12k: validate survey index when frequency is not found
wifi: ath12k: avoid long fw_stats waits on vdev stats hot path
wifi: ath12k: sanitize invalid MCS metadata in rx path
wifi: ath12k: sanitize invalid MCS metadata in monitor rx path

drivers/net/wireless/ath/ath12k/dp_mon.c | 38 ++++++++++++++---------
drivers/net/wireless/ath/ath12k/dp_rx.c | 39 ++++++++++++++----------
drivers/net/wireless/ath/ath12k/mac.c | 22 +++++++++++--
drivers/net/wireless/ath/ath12k/wmi.c | 13 ++++----
4 files changed, 73 insertions(+), 39 deletions(-)

--
2.47.3