aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/rt2x00/023-rt2800-move-txstatus-pending-routine.patch
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2019-03-12 11:44:27 +0100
committerDaniel Golle <daniel@makrotopia.org>2019-03-12 11:44:27 +0100
commit36530ba72afd7a1e33b4780faa898d28a1f9d9ee (patch)
tree6b823a3dbe63ff504c42200bc6855a9b55d22f82 /package/kernel/mac80211/patches/rt2x00/023-rt2800-move-txstatus-pending-routine.patch
parent74ef848b96563f7682c647b352982511b4fb6e2a (diff)
downloadupstream-36530ba72afd7a1e33b4780faa898d28a1f9d9ee.tar.gz
upstream-36530ba72afd7a1e33b4780faa898d28a1f9d9ee.tar.bz2
upstream-36530ba72afd7a1e33b4780faa898d28a1f9d9ee.zip
mac80211: rt2x00: import and update pending patches
Imported from patchwork, patches marked with '=' have already been in our tree: [v3,1/4] cfg80211: add ratelimited variants of err and warn [v3,2/4] rt2x00: use ratelimited variants dev_warn/dev_err [v3,3/4] rt2x00: check number of EPROTO errors =[v3,4/4] rt2x00: do not print error when queue is full Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'package/kernel/mac80211/patches/rt2x00/023-rt2800-move-txstatus-pending-routine.patch')
-rw-r--r--package/kernel/mac80211/patches/rt2x00/023-rt2800-move-txstatus-pending-routine.patch106
1 files changed, 0 insertions, 106 deletions
diff --git a/package/kernel/mac80211/patches/rt2x00/023-rt2800-move-txstatus-pending-routine.patch b/package/kernel/mac80211/patches/rt2x00/023-rt2800-move-txstatus-pending-routine.patch
deleted file mode 100644
index e5bfbecd1e..0000000000
--- a/package/kernel/mac80211/patches/rt2x00/023-rt2800-move-txstatus-pending-routine.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 2bbea7645c3d095014a080db170941818650e141 Mon Sep 17 00:00:00 2001
-From: Stanislaw Gruszka <sgruszka@redhat.com>
-Date: Sat, 9 Feb 2019 12:08:33 +0100
-X-Patchwork-Submitter: Stanislaw Gruszka <sgruszka@redhat.com>
-X-Patchwork-Id: 10804441
-X-Patchwork-Delegate: kvalo@adurom.com
-Subject: [PATCH 23/28] rt2800: move txstatus pending routine
-
-Move rt2800usb_txstatus_pending routine to rt2800lib. It will be reused
-by rt2800mmio code.
-
-Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
----
- .../net/wireless/ralink/rt2x00/rt2800lib.c | 17 ++++++++++++++
- .../net/wireless/ralink/rt2x00/rt2800lib.h | 1 +
- .../net/wireless/ralink/rt2x00/rt2800usb.c | 22 +++----------------
- 3 files changed, 21 insertions(+), 19 deletions(-)
-
---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
-+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
-@@ -1183,6 +1183,23 @@ bool rt2800_txstatus_timeout(struct rt2x
- }
- EXPORT_SYMBOL_GPL(rt2800_txstatus_timeout);
-
-+/*
-+ * test if there is an entry in any TX queue for which DMA is done
-+ * but the TX status has not been returned yet
-+ */
-+bool rt2800_txstatus_pending(struct rt2x00_dev *rt2x00dev)
-+{
-+ struct data_queue *queue;
-+
-+ tx_queue_for_each(rt2x00dev, queue) {
-+ if (rt2x00queue_get_entry(queue, Q_INDEX_DMA_DONE) !=
-+ rt2x00queue_get_entry(queue, Q_INDEX_DONE))
-+ return true;
-+ }
-+ return false;
-+}
-+EXPORT_SYMBOL_GPL(rt2800_txstatus_pending);
-+
- void rt2800_txdone_nostatus(struct rt2x00_dev *rt2x00dev)
- {
- struct data_queue *queue;
---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.h
-+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.h
-@@ -198,6 +198,7 @@ void rt2800_txdone_entry(struct queue_en
- void rt2800_txdone(struct rt2x00_dev *rt2x00dev, unsigned int quota);
- void rt2800_txdone_nostatus(struct rt2x00_dev *rt2x00dev);
- bool rt2800_txstatus_timeout(struct rt2x00_dev *rt2x00dev);
-+bool rt2800_txstatus_pending(struct rt2x00_dev *rt2x00dev);
-
- void rt2800_write_beacon(struct queue_entry *entry, struct txentry_desc *txdesc);
- void rt2800_clear_beacon(struct queue_entry *entry);
---- a/drivers/net/wireless/ralink/rt2x00/rt2800usb.c
-+++ b/drivers/net/wireless/ralink/rt2x00/rt2800usb.c
-@@ -100,22 +100,6 @@ static void rt2800usb_stop_queue(struct
- }
- }
-
--/*
-- * test if there is an entry in any TX queue for which DMA is done
-- * but the TX status has not been returned yet
-- */
--static bool rt2800usb_txstatus_pending(struct rt2x00_dev *rt2x00dev)
--{
-- struct data_queue *queue;
--
-- tx_queue_for_each(rt2x00dev, queue) {
-- if (rt2x00queue_get_entry(queue, Q_INDEX_DMA_DONE) !=
-- rt2x00queue_get_entry(queue, Q_INDEX_DONE))
-- return true;
-- }
-- return false;
--}
--
- #define TXSTATUS_READ_INTERVAL 1000000
-
- static bool rt2800usb_tx_sta_fifo_read_completed(struct rt2x00_dev *rt2x00dev,
-@@ -145,7 +129,7 @@ static bool rt2800usb_tx_sta_fifo_read_c
- if (rt2800_txstatus_timeout(rt2x00dev))
- queue_work(rt2x00dev->workqueue, &rt2x00dev->txdone_work);
-
-- if (rt2800usb_txstatus_pending(rt2x00dev)) {
-+ if (rt2800_txstatus_pending(rt2x00dev)) {
- /* Read register after 1 ms */
- hrtimer_start(&rt2x00dev->txstatus_timer,
- TXSTATUS_READ_INTERVAL,
-@@ -160,7 +144,7 @@ stop_reading:
- * clear_bit someone could do rt2x00usb_interrupt_txdone, so recheck
- * here again if status reading is needed.
- */
-- if (rt2800usb_txstatus_pending(rt2x00dev) &&
-+ if (rt2800_txstatus_pending(rt2x00dev) &&
- !test_and_set_bit(TX_STATUS_READING, &rt2x00dev->flags))
- return true;
- else
-@@ -489,7 +473,7 @@ static void rt2800usb_work_txdone(struct
- * if the medium is busy, thus the TX_STA_FIFO entry is
- * also delayed -> use a timer to retrieve it.
- */
-- if (rt2800usb_txstatus_pending(rt2x00dev))
-+ if (rt2800_txstatus_pending(rt2x00dev))
- rt2800usb_async_read_tx_status(rt2x00dev);
- }
- }