Skip to content

Commit

Permalink
mac80211: backport an upstream fix for queue start/stop handling
Browse files Browse the repository at this point in the history
Fixes issues with 802.11s

Signed-off-by: Felix Fietkau <nbd@nbd.name>
  • Loading branch information
nbd168 committed Apr 3, 2017
1 parent a49503b commit 47bf110
Showing 1 changed file 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) {

0 comments on commit 47bf110

Please sign in to comment.