aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/ath/561-ath9k-dynack-set-ackto-to-max-timeout-in-ath_dynack_.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/ath/561-ath9k-dynack-set-ackto-to-max-timeout-in-ath_dynack_.patch')
-rw-r--r--package/kernel/mac80211/patches/ath/561-ath9k-dynack-set-ackto-to-max-timeout-in-ath_dynack_.patch73
1 files changed, 0 insertions, 73 deletions
diff --git a/package/kernel/mac80211/patches/ath/561-ath9k-dynack-set-ackto-to-max-timeout-in-ath_dynack_.patch b/package/kernel/mac80211/patches/ath/561-ath9k-dynack-set-ackto-to-max-timeout-in-ath_dynack_.patch
deleted file mode 100644
index 6495bf01b0..0000000000
--- a/package/kernel/mac80211/patches/ath/561-ath9k-dynack-set-ackto-to-max-timeout-in-ath_dynack_.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From cc783bfa67e87d2e6206f7626b7bbb74d5c5f269 Mon Sep 17 00:00:00 2001
-From: Lorenzo Bianconi <lorenzo@kernel.org>
-Date: Tue, 20 Aug 2019 18:20:22 +0200
-Subject: [PATCH 4/4] ath9k: dynack: set ackto to max timeout in
- ath_dynack_reset
-
-Initialize acktimeout to the maximum configurable value in
-ath_dynack_reset in order to not disconnect long distance static links
-enabling dynack and even to take care of possible errors configuring
-a static timeout. Moreover initialize station timeout value to the current
-acktimeout value
-
-Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
-Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
----
- drivers/net/wireless/ath/ath9k/dynack.c | 20 +++++++++++++-------
- 1 file changed, 13 insertions(+), 7 deletions(-)
-
---- a/drivers/net/wireless/ath/ath9k/dynack.c
-+++ b/drivers/net/wireless/ath/ath9k/dynack.c
-@@ -321,11 +321,9 @@ EXPORT_SYMBOL(ath_dynack_sample_ack_ts);
- */
- void ath_dynack_node_init(struct ath_hw *ah, struct ath_node *an)
- {
-- /* ackto = slottime + sifs + air delay */
-- u32 ackto = 9 + 16 + 64;
- struct ath_dynack *da = &ah->dynack;
-
-- an->ackto = ackto;
-+ an->ackto = da->ackto;
-
- spin_lock(&da->qlock);
- list_add_tail(&an->list, &da->nodes);
-@@ -356,20 +354,26 @@ EXPORT_SYMBOL(ath_dynack_node_deinit);
- */
- void ath_dynack_reset(struct ath_hw *ah)
- {
-- /* ackto = slottime + sifs + air delay */
-- u32 ackto = 9 + 16 + 64;
- struct ath_dynack *da = &ah->dynack;
-+ struct ath_node *an;
-+
-+ spin_lock_bh(&da->qlock);
-
- da->lto = jiffies + COMPUTE_TO;
-- da->ackto = ackto;
-
- da->st_rbf.t_rb = 0;
- da->st_rbf.h_rb = 0;
- da->ack_rbf.t_rb = 0;
- da->ack_rbf.h_rb = 0;
-
-+ da->ackto = ath_dynack_get_max_to(ah);
-+ list_for_each_entry(an, &da->nodes, list)
-+ an->ackto = da->ackto;
-+
- /* init acktimeout */
-- ath_dynack_set_timeout(ah, ackto);
-+ ath_dynack_set_timeout(ah, da->ackto);
-+
-+ spin_unlock_bh(&da->qlock);
- }
- EXPORT_SYMBOL(ath_dynack_reset);
-
-@@ -386,6 +390,8 @@ void ath_dynack_init(struct ath_hw *ah)
-
- spin_lock_init(&da->qlock);
- INIT_LIST_HEAD(&da->nodes);
-+ /* ackto = slottime + sifs + air delay */
-+ da->ackto = 9 + 16 + 64;
-
- ah->hw->wiphy->features |= NL80211_FEATURE_ACKTO_ESTIMATION;
- }