]> git.baikalelectronics.ru Git - kernel.git/commit
wcn36xx: Use correct SSN for ADD BA request
authorLoic Poulain <loic.poulain@linaro.org>
Mon, 22 Nov 2021 18:04:11 +0000 (19:04 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 26 Nov 2021 10:19:28 +0000 (12:19 +0200)
commit23cddeb5a7705daf305f02bd01ff73598ebd6461
treeb434e77e7b172ac5c59d378347a9b3dfbd9d88f7
parentb689f091aafd1a874b2f88137934276ab0fca480
wcn36xx: Use correct SSN for ADD BA request

Since firmware uses its own sequence number counters, we need to
use firmware number as well when mac80211 generates the ADD_BA
request packet. Indeed the firmware sequence counters tend to
slightly drift from the mac80211 ones because of firmware offload
features like ARP responses. This causes the starting sequence
number field of the ADD_BA request to be unaligned, and can possibly
cause issues with strict/picky APs.

To fix this, we retrieve the current firmware sequence number for
a given TID through the smd_trigger_ba API, and use that number as
replacement of the mac80211 starting sequence number.

This change also ensures that any issue in the smd *ba procedures
will cause the ba action to properly fail, and remove useless call
to smd_trigger_ba() from IEEE80211_AMPDU_RX_START.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1637604251-11763-1-git-send-email-loic.poulain@linaro.org
drivers/net/wireless/ath/wcn36xx/main.c
drivers/net/wireless/ath/wcn36xx/smd.c
drivers/net/wireless/ath/wcn36xx/smd.h