30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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) {
 | 
