diff options
author | Johannes Berg <johannes.berg@intel.com> | 2017-03-29 14:15:24 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2017-03-29 14:20:40 +0200 |
commit | 7d65f82954dadbbe7b6e1aec7e07ad17bc6d958b (patch) | |
tree | 7e6b1637ebb3ccaf245ff05a0a17cda19815bc9a /net/mac80211 | |
parent | b3ef5520c1eabb56064474043c7c55a1a65b8708 (diff) | |
download | linux-7d65f82954dadbbe7b6e1aec7e07ad17bc6d958b.tar.bz2 |
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>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/iface.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 40813dd3301c..5bb0c5012819 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c @@ -718,7 +718,8 @@ int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up) 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) { |