mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-20 09:26:28 +00:00
mac80211: fix mesh queue selection issue
Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 51e9d496ba7958fb9f2d3eb4bc7f257837145dd0)
This commit is contained in:
parent
158a5af801
commit
a3946a7cd1
@ -0,0 +1,28 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Sat, 2 Jul 2022 16:41:32 +0200
|
||||
Subject: [PATCH] mac80211: fix queue selection for mesh/OCB interfaces
|
||||
|
||||
When using iTXQ, the code assumes that there is only one vif queue for
|
||||
broadcast packets, using the BE queue. Allowing non-BE queue marking
|
||||
violates that assumption and txq->ac == skb_queue_mapping is no longer
|
||||
guaranteed. This can cause issues with queue handling in the driver and
|
||||
also causes issues with the recent ATF change, resulting in an AQL
|
||||
underflow warning.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/wme.c
|
||||
+++ b/net/mac80211/wme.c
|
||||
@@ -147,8 +147,8 @@ u16 __ieee80211_select_queue(struct ieee
|
||||
bool qos;
|
||||
|
||||
/* all mesh/ocb stations are required to support WME */
|
||||
- if (sdata->vif.type == NL80211_IFTYPE_MESH_POINT ||
|
||||
- sdata->vif.type == NL80211_IFTYPE_OCB)
|
||||
+ if (sta && (sdata->vif.type == NL80211_IFTYPE_MESH_POINT ||
|
||||
+ sdata->vif.type == NL80211_IFTYPE_OCB))
|
||||
qos = true;
|
||||
else if (sta)
|
||||
qos = sta->sta.wme;
|
Loading…
x
Reference in New Issue
Block a user