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

From: Jeff Johnson

Date: Wed Feb 25 2026 - 17:24:16 EST


On 2/12/2026 4:17 AM, m.limarencko@xxxxxxxxx wrote:
> 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 an explicit error 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.
>
> v2:
> - patch 1/4 commit message no longer claims OOB in chan-info paths
> - patch 1/4 keeps matched-frequency index progression unchanged
> - patch 1/4 returns -ENOENT on no-match and callers reject negative idx
>
> Thanks,
> Mikhail Limarenko
>
> Mikhail Limarenko (4):
> wifi: ath12k: return error when survey 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 | 9 +++------
> 4 files changed, 70 insertions(+), 38 deletions(-)
>

This series does not apply cleanly to ath/main (or ath/ath-next).

Please make sure the issues you saw have not already been fixed since there
were substantial changes from 6.18 => 6.19.