diff options
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_.patch | 73 |
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; - } |