aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/rt2x00/026-rt2x00-remove-last_nostatus_check.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/rt2x00/026-rt2x00-remove-last_nostatus_check.patch')
-rw-r--r--package/kernel/mac80211/patches/rt2x00/026-rt2x00-remove-last_nostatus_check.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/rt2x00/026-rt2x00-remove-last_nostatus_check.patch b/package/kernel/mac80211/patches/rt2x00/026-rt2x00-remove-last_nostatus_check.patch
new file mode 100644
index 0000000000..7af13e83ed
--- /dev/null
+++ b/package/kernel/mac80211/patches/rt2x00/026-rt2x00-remove-last_nostatus_check.patch
@@ -0,0 +1,54 @@
+From 6013a91f15c9dabd668d5736652b9bcfb0ef0378 Mon Sep 17 00:00:00 2001
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+Date: Sat, 9 Feb 2019 12:08:36 +0100
+Subject: [PATCH 26/28] rt2x00: remove last_nostatus_check
+
+We do not any longer check txstatus timeout from tasklet, so do not need
+this optimization.
+
+Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
+---
+ drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 9 ---------
+ drivers/net/wireless/ralink/rt2x00/rt2x00.h | 2 --
+ drivers/net/wireless/ralink/rt2x00/rt2x00queue.c | 1 -
+ 3 files changed, 12 deletions(-)
+
+--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
++++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+@@ -1164,15 +1164,6 @@ bool rt2800_txstatus_timeout(struct rt2x
+ struct data_queue *queue;
+ struct queue_entry *entry;
+
+- if (!test_bit(DEVICE_STATE_FLUSHING, &rt2x00dev->flags)) {
+- unsigned long tout = msecs_to_jiffies(1000);
+-
+- if (time_before(jiffies, rt2x00dev->last_nostatus_check + tout))
+- return false;
+- }
+-
+- rt2x00dev->last_nostatus_check = jiffies;
+-
+ tx_queue_for_each(rt2x00dev, queue) {
+ entry = rt2x00queue_get_entry(queue, Q_INDEX_DONE);
+ if (rt2800_entry_txstatus_timeout(rt2x00dev, entry))
+--- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h
++++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h
+@@ -981,8 +981,6 @@ struct rt2x00_dev {
+ */
+ DECLARE_KFIFO_PTR(txstatus_fifo, u32);
+
+- unsigned long last_nostatus_check;
+-
+ /*
+ * Timer to ensure tx status reports are read (rt2800usb).
+ */
+--- a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c
++++ b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c
+@@ -1039,7 +1039,6 @@ void rt2x00queue_start_queues(struct rt2
+ */
+ tx_queue_for_each(rt2x00dev, queue)
+ rt2x00queue_start_queue(queue);
+- rt2x00dev->last_nostatus_check = jiffies;
+
+ rt2x00queue_start_queue(rt2x00dev->rx);
+ }