1234567891011121314151617181920212223242526272829 |
- 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) {
|