mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
wifi: mt76: account non-AQL frames per peer rather than per link
The driver increments wcid->non_aql_packets when a frame goes to the hardware queue. The completion path decrements the counter again. For an MLO peer, the hardware reports the completion on the link that it used for the transmission. This link can differ from the link that the driver queued the frame on. In that case, the increment and the decrement go to different link wcids, and the count drifts upwards until it blocks the station. Keep the count on the wcid of the primary link, like the other peer-wide state. Link: https://patch.msgid.link/[email protected] Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
@@ -1434,6 +1434,13 @@ mtxq_to_txq(struct mt76_txq *mtxq)
|
||||
return container_of(ptr, struct ieee80211_txq, drv_priv);
|
||||
}
|
||||
|
||||
/* peer-wide state uses the wcid of the primary link */
|
||||
static inline struct mt76_wcid *
|
||||
mt76_wcid_primary(struct mt76_wcid *wcid)
|
||||
{
|
||||
return wcid->def_wcid ? wcid->def_wcid : wcid;
|
||||
}
|
||||
|
||||
static inline struct ieee80211_sta *
|
||||
wcid_to_sta(struct mt76_wcid *wcid)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user