mac80211: use wake_queue to restart trasmit
authorRajkumar Manoharan <rmanoharan@atheros.com>
Fri, 29 Apr 2011 09:18:45 +0000 (14:48 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 5 May 2011 18:59:04 +0000 (14:59 -0400)
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>
net/mac80211/mlme.c

index a41f234bd4860b69a94f83ecc8334061bca2045a..8d752b4d72ce9f8ad8c30e4d26e6477b1282ccd4 100644 (file)
@@ -781,7 +781,7 @@ void ieee80211_dynamic_ps_enable_work(struct work_struct *work)
                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)