AA: rt2800usb: merge a fix to slow down tx status polling (#13523)
[openwrt/svn-archive/archive.git] / package / mac80211 / patches / 300-pending_work.patch
index f3b9c71839df57784b11cd8ee13a7f5705b3e5cb..73f440bd3b99b9354bb932ce451069e4f03ce70f 100644 (file)
        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);
+ }