diff options
author | Stanislaw Gruszka <sgruszka@redhat.com> | 2017-12-19 14:33:55 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2018-01-08 20:39:06 +0300 |
commit | 3d8f162cb8ecd8cb5f77d92ed27bdc7d8aeb2bae (patch) | |
tree | a7d4fd741c1fa7351dbd8156f45ae7f768031baa /drivers/net/wireless/ralink/rt2x00/rt2x00mac.c | |
parent | b713bbf1471b56b572ce26bd02b81a85c2b007f4 (diff) | |
download | linux-3d8f162cb8ecd8cb5f77d92ed27bdc7d8aeb2bae.tar.xz |
rt2x00: pause almost full queue early
Do not drop &queue->tx_lock and acquire it again to pause queue when
available entries are below the threshold.
Patch should mitigate problem of frequently printed errors:
"Error - Dropping frame due to full tx queue"
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Tested-by: Enrico Mioso@gmail.com
Tested-by: Enrico Mioso <mrkiko.rs@gmail.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.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c index ecc96312a370..c8a6f163102f 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c @@ -152,16 +152,6 @@ void rt2x00mac_tx(struct ieee80211_hw *hw, if (unlikely(rt2x00queue_write_tx_frame(queue, skb, control->sta, false))) goto exit_fail; - /* - * Pausing queue has to be serialized with rt2x00lib_txdone(). Note - * we should not use spin_lock_bh variant as bottom halve was already - * disabled before ieee80211_xmit() call. - */ - spin_lock(&queue->tx_lock); - if (rt2x00queue_threshold(queue)) - rt2x00queue_pause_queue(queue); - spin_unlock(&queue->tx_lock); - return; exit_fail: |