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:08:21 +0000 (13:08 +0200)
commit5cc942a80eff3b41df164d5e875befa4fc12b183
tree32c4dd126d6ab14a27cd043af60ed75bdd766adc
parent1bc31e0339352839780a2bb01c350e103f757d72
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>
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]