From bc3d7c2f1b77b6e0f23b6ff0546ff6bbf8c3e3a5 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 18 Oct 2013 13:39:10 +0000 Subject: [PATCH] rt2800usb: merge a fix to slow down tx status polling (#13523) Signed-off-by: Felix Fietkau SVN-Revision: 38452 --- .../patches/301-pending_work-rt2x00.patch | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/package/kernel/mac80211/patches/301-pending_work-rt2x00.patch b/package/kernel/mac80211/patches/301-pending_work-rt2x00.patch index 353ef74762..947538baf6 100644 --- a/package/kernel/mac80211/patches/301-pending_work-rt2x00.patch +++ b/package/kernel/mac80211/patches/301-pending_work-rt2x00.patch @@ -3258,6 +3258,28 @@ Contains the following changes from wireless-testing/master-2013-08-26: --- a/drivers/net/wireless/rt2x00/rt2800usb.c +++ b/drivers/net/wireless/rt2x00/rt2800usb.c +@@ -176,8 +176,8 @@ static bool rt2800usb_tx_sta_fifo_read_c + queue_work(rt2x00dev->workqueue, &rt2x00dev->txdone_work); + + if (rt2800usb_txstatus_pending(rt2x00dev)) { +- /* Read register after 250 us */ +- hrtimer_start(&rt2x00dev->txstatus_timer, ktime_set(0, 250000), ++ /* Read register after 1 ms */ ++ hrtimer_start(&rt2x00dev->txstatus_timer, ktime_set(0, 1000000), + HRTIMER_MODE_REL); + return false; + } +@@ -202,8 +202,8 @@ static void rt2800usb_async_read_tx_stat + if (test_and_set_bit(TX_STATUS_READING, &rt2x00dev->flags)) + return; + +- /* Read TX_STA_FIFO register after 500 us */ +- hrtimer_start(&rt2x00dev->txstatus_timer, ktime_set(0, 500000), ++ /* Read TX_STA_FIFO register after 2 ms */ ++ hrtimer_start(&rt2x00dev->txstatus_timer, ktime_set(0, 2000000), + HRTIMER_MODE_REL); + } + @@ -854,13 +854,7 @@ static void rt2800usb_queue_init(struct struct rt2x00_dev *rt2x00dev = queue->rt2x00dev; unsigned short txwi_size, rxwi_size;