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:09:41 +0000 (13:09 +0200)
commitdd4b8a24a15ab86b68ad11295d5d1220ef7c0d06
tree471a9a78842b549d452ee5bed941407a009f7370
parent9e837873e72f5949417a7ced10609e2ea55212ff
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

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/ath/558-ath9k-dynack-introduce-ath_dynack_set_timeout-routin.patch [new file with mode: 0644]
package/kernel/mac80211/patches/ath/559-ath9k-dynack-properly-set-last-timeout-timestamp-in-.patch [new file with mode: 0644]
package/kernel/mac80211/patches/ath/560-ath9k-dynack-set-max-timeout-according-to-channel-wi.patch [new file with mode: 0644]
package/kernel/mac80211/patches/ath/561-ath9k-dynack-set-ackto-to-max-timeout-in-ath_dynack_.patch [new file with mode: 0644]