Felix Fietkau 503c643b78 wifi: mt76: account non-AQL frames per peer rather than per link
wcid->non_aql_packets is charged when a frame reaches the hardware queue
and credited back from the completion path. For an MLO peer the hardware
reports the completion against the link it actually transmitted on, which
need not be the link the frame was queued for, so the charge and the
credit can land on different link wcids.

The credited side is clamped at zero while the charged side keeps the
residue. Once it passes MT_MAX_NON_AQL_PKT, mt76_txq_schedule_list()
skips that station on every pass and its traffic stops for good, with the
frames left sitting in the mac80211 queues and nothing counted as
dropped. Only a reassociation, which allocates new wcids, recovers it.

Keep the count on the primary link's wcid, as is already done for the
other peer-wide state.

Signed-off-by: Felix Fietkau <[email protected]>
2026-08-08 14:43:09 +02:00
2021-04-14 09:12:11 +02:00
2025-10-13 11:11:19 +02:00
2026-05-04 08:37:03 +00:00
2026-07-21 12:09:57 +02:00
2026-07-21 12:09:57 +02:00
S
Description
mac80211 driver for MediaTek MT76x0e, MT76x2e, MT7603, MT7615, MT7628 and MT7688
BSD-3-Clause
105 MiB
Languages
C 99.7%
Perl 0.2%
Makefile 0.1%