mac80211: backport an upstream fix for queue start/stop handling
Fixes issues with 802.11s Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
190db43615
commit
cffeb31107
1 changed files with 29 additions and 0 deletions
|
@ -0,0 +1,29 @@
|
||||||
|
From: Johannes Berg <johannes.berg@intel.com>
|
||||||
|
Date: Wed, 29 Mar 2017 14:15:24 +0200
|
||||||
|
Subject: [PATCH] mac80211: unconditionally start new netdev queues with iTXQ
|
||||||
|
support
|
||||||
|
|
||||||
|
When internal mac80211 TXQs aren't supported, netdev queues must
|
||||||
|
always started out started even when driver queues are stopped
|
||||||
|
while the interface is added. This is necessary because with the
|
||||||
|
internal TXQ support netdev queues are never stopped and packet
|
||||||
|
scheduling/dropping is done in mac80211.
|
||||||
|
|
||||||
|
Cc: stable@vger.kernel.org # 4.9+
|
||||||
|
Fixes: 80a83cfc434b1 ("mac80211: skip netdev queue control with software queuing")
|
||||||
|
Reported-and-tested-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
|
||||||
|
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||||
|
---
|
||||||
|
|
||||||
|
--- a/net/mac80211/iface.c
|
||||||
|
+++ b/net/mac80211/iface.c
|
||||||
|
@@ -727,7 +727,8 @@ int ieee80211_do_open(struct wireless_de
|
||||||
|
ieee80211_recalc_ps(local);
|
||||||
|
|
||||||
|
if (sdata->vif.type == NL80211_IFTYPE_MONITOR ||
|
||||||
|
- sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
|
||||||
|
+ sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
|
||||||
|
+ local->ops->wake_tx_queue) {
|
||||||
|
/* XXX: for AP_VLAN, actually track AP queues */
|
||||||
|
netif_tx_start_all_queues(dev);
|
||||||
|
} else if (dev) {
|
Loading…
Reference in a new issue