325-mac80211-unconditionally-start-new-netdev-queues-wit.patch 1.1 KB

1234567891011121314151617181920212223242526272829
  1. From: Johannes Berg <[email protected]>
  2. Date: Wed, 29 Mar 2017 14:15:24 +0200
  3. Subject: [PATCH] mac80211: unconditionally start new netdev queues with iTXQ
  4. support
  5. When internal mac80211 TXQs aren't supported, netdev queues must
  6. always started out started even when driver queues are stopped
  7. while the interface is added. This is necessary because with the
  8. internal TXQ support netdev queues are never stopped and packet
  9. scheduling/dropping is done in mac80211.
  10. Cc: [email protected] # 4.9+
  11. Fixes: 80a83cfc434b1 ("mac80211: skip netdev queue control with software queuing")
  12. Reported-and-tested-by: Sven Eckelmann <[email protected]>
  13. Signed-off-by: Johannes Berg <[email protected]>
  14. ---
  15. --- a/net/mac80211/iface.c
  16. +++ b/net/mac80211/iface.c
  17. @@ -727,7 +727,8 @@ int ieee80211_do_open(struct wireless_de
  18. ieee80211_recalc_ps(local);
  19. if (sdata->vif.type == NL80211_IFTYPE_MONITOR ||
  20. - sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
  21. + sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
  22. + local->ops->wake_tx_queue) {
  23. /* XXX: for AP_VLAN, actually track AP queues */
  24. netif_tx_start_all_queues(dev);
  25. } else if (dev) {