rt2x00: do not pause queue on flush
authorStanislaw Gruszka <stf_xl@wp.pl>
Sat, 5 Oct 2013 16:15:33 +0000 (18:15 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 10 Oct 2013 17:49:28 +0000 (13:49 -0400)
commitfdbdd25c47ac1db04a161308dfb1060869eba982
tree6dc88a9b1c9e4fbca723c822d99a40339f9cffee
parent733aec6a5bd39ba34ddd0568b7f7394aec2541fb
rt2x00: do not pause queue on flush

Pausing queue on flush make no sense since txdone procedure un-pause
queue. Before flush procedure we have to assure queue is stopped,
i.e. on receive path h/w RX is disabled, on transmit path queue is
disabled in mac80211. That conditions are true except one function:
rt2x00usb_watchdog_tx_dma(), so add stop/start queue there.

Note stop/start queue can be racy if we do this from multiple paths,
but currently we stop TX queues only on rt2x00lib_disable_radio(),
which also stop/sync watchdog, hance we have no race condition.

Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2x00queue.c
drivers/net/wireless/rt2x00/rt2x00usb.c