[source] mac80211: backport an upstream fix for queue start/stop handling

LEDE Commits lede-commits at lists.infradead.org
Mon Apr 3 06:12:21 PDT 2017


nbd pushed a commit to source.git, branch master:
https://git.lede-project.org/cffeb31107e27a48ddaf4953590acdefc66f2de9

commit cffeb31107e27a48ddaf4953590acdefc66f2de9
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Mon Apr 3 15:08:28 2017 +0200

    mac80211: backport an upstream fix for queue start/stop handling
    
    Fixes issues with 802.11s
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 ...conditionally-start-new-netdev-queues-wit.patch | 29 ++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/package/kernel/mac80211/patches/325-mac80211-unconditionally-start-new-netdev-queues-wit.patch b/package/kernel/mac80211/patches/325-mac80211-unconditionally-start-new-netdev-queues-wit.patch
new file mode 100644
index 0000000..ff7bbcb
--- /dev/null
+++ b/package/kernel/mac80211/patches/325-mac80211-unconditionally-start-new-netdev-queues-wit.patch
@@ -0,0 +1,29 @@
+From: Johannes Berg <johannes.berg at 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 at vger.kernel.org # 4.9+
+Fixes: 80a83cfc434b1 ("mac80211: skip netdev queue control with software queuing")
+Reported-and-tested-by: Sven Eckelmann <sven.eckelmann at openmesh.com>
+Signed-off-by: Johannes Berg <johannes.berg at 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) {



More information about the lede-commits mailing list