瀏覽代碼

mac80211: use wake_queue to restart trasmit

netif_tx_start_all_queues is used to allow the upper layer
to transmit frames but it does not restart transmission.
To restart the trasmission use netif_tx_wake_all_queues.
Not doing so, sometimes stalls the transmission and the
application has to be restarted to proceed further.

This issue was originally found while sending udp traffic
in higer bandwidth in open environment without bgscan.

Cc: stable@kernel.org
Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan 14 年之前
父節點
當前提交
470ab2a23b
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      net/mac80211/mlme.c

+ 1 - 1
net/mac80211/mlme.c

@@ -781,7 +781,7 @@ void ieee80211_dynamic_ps_enable_work(struct work_struct *work)
 		ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS);
 		ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS);
 	}
 	}
 
 
-	netif_tx_start_all_queues(sdata->dev);
+	netif_tx_wake_all_queues(sdata->dev);
 }
 }
 
 
 void ieee80211_dynamic_ps_timer(unsigned long data)
 void ieee80211_dynamic_ps_timer(unsigned long data)