summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-10-18 13:39:10 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-10-18 13:39:10 +0000
commitfc561e40cec025d947bc699f1b4205103f231855 (patch)
treefad67a18d05017a80c2d318affe82354831ba597
parentc8f0596df1263a369cbea9cfc57bac45da78affb (diff)
rt2800usb: merge a fix to slow down tx status polling (#13523)
Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38452 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/kernel/mac80211/patches/301-pending_work-rt2x00.patch22
1 files changed, 22 insertions, 0 deletions
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;