ath9k: backport dynack improvements
authorKoen Vandeputte <koen.vandeputte@ncentric.com>
Wed, 28 Aug 2019 10:12:41 +0000 (12:12 +0200)
committerKoen Vandeputte <koen.vandeputte@ncentric.com>
Wed, 28 Aug 2019 11:10:08 +0000 (13:10 +0200)
commit4b5c77ca2f508a69fe03f943eb680b529b955627
tree2969161a77acd3b2b139228b7c87b7062aa06004
parent73bba470a46c5f46d9c50002be2a7d2cb7a90792
ath9k: backport dynack improvements

Close cooperation with Lorenzo Bianconi resulted
in these patches which fix all remaining seen issues
when using dynack.

Fix link losses when:
- Late Ack's are not seen or not present
- switching from too low static coverage class to dynack on a live link

These are fixed by setting the Ack Timeout/Slottime to
the max possible value for the currently used channel width when
a new station has been discovered.

When traffic flows, dynack is able to adjust to optimal values
within a few packets received (typically < 1 second)

These changes have been thoroughly tested on ~60 offshore devices
all interconnected using mesh over IBSS and dynack enabled on all.

Distances between devices varied from <100m up to ~35km

[move patches to correct folder + renumber]
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
(cherry picked from commit f6e8ba0238fe349b7529357793e2fb18635819ed)
package/kernel/mac80211/patches/557-ath9k-dynack-introduce-ath_dynack_set_timeout-routin.patch [new file with mode: 0644]
package/kernel/mac80211/patches/558-ath9k-dynack-properly-set-last-timeout-timestamp-in-.patch [new file with mode: 0644]
package/kernel/mac80211/patches/559-ath9k-dynack-set-max-timeout-according-to-channel-wi.patch [new file with mode: 0644]
package/kernel/mac80211/patches/560-ath9k-dynack-set-ackto-to-max-timeout-in-ath_dynack_.patch [new file with mode: 0644]