[PATCH ath-next v2 0/2] wifi: ath12k: PPDU stats user count fixes
Goran Sustek
gsustek at gmail.com
Mon Nov 9 14:53:53 PST 2026
ath12k_htt_pull_ppdu_stats() rejects PPDU stats messages whose common
TLV reports num_users == HTT_PPDU_STATS_MAX_USERS, although that value
is in bounds for the loop the check protects. QCN9274 firmware
WLAN.WBE.1.6-01243 sends it in BE MU BSRP trigger messages addressed to
two Wi-Fi 7 clients, which makes the warning fire on every such trigger
and fill the log on a two-client AP.
Patch 1 corrects the bound and keeps the warning for larger values.
Patch 2 fixes a related off-by-one: the per-user slot finder and the
per-user statistics update skip the last user_stats[] slot.
What the data shows (diagnostic build on an AP MLD, 5 and 6 GHz, two
Wi-Fi 7 clients, 2026-11-02 to 2026-11-09):
- Every message with num_users 7 or 8 was frame type 25
(HTT_STATS_FTYPE_SGEN_BE_MU_BSRP) and carried user TLVs for exactly
two stations, with up to four user records per station. num_users
equals the number of user records, not the number of stations.
- The same firmware advertises max_user_per_ppdu_ofdma of 8 in
WMI_SERVICE_READY_EXT2, so 8 is the largest value it produces.
- Rejecting a message has no functional effect beyond the warning: the
user TLVs are already stored when the check runs, and the per-peer
statistics are applied when the entry leaves the list.
Changes in v2:
- Keep ath12k_warn() (Jeff Johnson); only the bound and the text change.
- Add patch 2 for the slot finder and update loop.
- Base on current ath-next.
v1: https://lore.kernel.org/r/20261101203718.60679-1-gsustek@gmail.com
Goran Sustek (2):
wifi: ath12k: accept num_users equal to HTT_PPDU_STATS_MAX_USERS
wifi: ath12k: use all HTT_PPDU_STATS_MAX_USERS slots for PPDU users
drivers/net/wireless/ath/ath12k/dp_htt.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
base-commit: d0fbb39d65dc9dcb4175fa6b23e473dec3670f4d
--
2.56.0
More information about the ath12k
mailing list