30 lines
1.1 KiB
Diff
30 lines
1.1 KiB
Diff
|
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) {
|