aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-10-18 13:41:18 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-10-18 13:41:18 +0000
commit1e4f4d85341281df344d98e460b7737415be1f11 (patch)
tree81d297bda583656a76520a5b2c04ca2b90ba45c2
parentda97b9fa9c80b5ec1d6870e4b3fdb6dc564698c7 (diff)
downloadupstream-1e4f4d85341281df344d98e460b7737415be1f11.tar.gz
upstream-1e4f4d85341281df344d98e460b7737415be1f11.tar.bz2
upstream-1e4f4d85341281df344d98e460b7737415be1f11.zip
AA: rt2800usb: merge a fix to slow down tx status polling (#13523)
Signed-off-by: Felix Fietkau <nbd@openwrt.org> Backport of r38452 git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@38455 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/mac80211/patches/300-pending_work.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index f3b9c71839..73f440bd3b 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -1208,3 +1208,27 @@
for (i = 0; i < ts->ts_final_idx; i++) {
struct ieee80211_tx_rate *r =
&info->status.rates[i];
+--- 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);
+ }
+