aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
diff options
context:
space:
mode:
authorStanislaw Gruszka <sgruszka@redhat.com>2018-04-30 15:19:17 +0200
committerKalle Valo <kvalo@codeaurora.org>2018-05-04 15:34:20 +0300
commit811a3991510735566b66069fdd4ce3ce33a2ec18 (patch)
tree1431ea28c03e0d6460ab19247f2a5f5c3deab492 /drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
parentrt2x00: call sta_add/remove directly in rt2800 (diff)
downloadlinux-811a3991510735566b66069fdd4ce3ce33a2ec18.tar.xz
linux-811a3991510735566b66069fdd4ce3ce33a2ec18.zip
rt2x00: check against flushing empty queue
We have check if queue is not empty when start flushing queues on by mac80211 callback, but we also can start flushing queues by internal driver calls. So move check into rt2x00queue_flush_queue() to assure we do not flush empty queue anytime. Additionally add warning if we start to kick empty queue as in such situation we set wrong index in the HW queue, what can confuse the HW and have various negative consequences. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/ralink/rt2x00/rt2x00mac.c')
-rw-r--r--drivers/net/wireless/ralink/rt2x00/rt2x00mac.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
index a971bc7a6b63..c380c1f56ba6 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
@@ -739,8 +739,7 @@ void rt2x00mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
return;
tx_queue_for_each(rt2x00dev, queue)
- if (!rt2x00queue_empty(queue))
- rt2x00queue_flush_queue(queue, drop);
+ rt2x00queue_flush_queue(queue, drop);
}
EXPORT_SYMBOL_GPL(rt2x00mac_flush);