rt2800usb: merge a fix to slow down tx status polling (#13523)
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 18 Oct 2013 13:39:10 +0000 (13:39 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 18 Oct 2013 13:39:10 +0000 (13:39 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38452 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/kernel/mac80211/patches/301-pending_work-rt2x00.patch

index 353ef74..947538b 100644 (file)
@@ -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
  
 --- 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;
 @@ -854,13 +854,7 @@ static void rt2800usb_queue_init(struct 
        struct rt2x00_dev *rt2x00dev = queue->rt2x00dev;
        unsigned short txwi_size, rxwi_size;