wcn36xx: Fix discarded frames due to wrong sequence number
authorLoic Poulain <loic.poulain@linaro.org>
Mon, 25 Oct 2021 08:25:36 +0000 (10:25 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 27 Oct 2021 07:44:54 +0000 (10:44 +0300)
commit113f304dbc1627c6ec9d5329d839964095768980
tree268721b0e6ca9aca5f56af0ba4f9716ab00228d6
parent9bfe38e064af5decba2ffce66a2958ab8b10eaa4
wcn36xx: Fix discarded frames due to wrong sequence number

The firmware is offering features such as ARP offload, for which
firmware crafts its own (QoS)packets without waking up the host.
Point is that the sequence numbers generated by the firmware are
not in sync with the host mac80211 layer and can cause packets
such as firmware ARP reponses to be dropped by the AP (too old SN).

To fix this we need to let the firmware manages the sequence
numbers by its own (except for QoS null frames). There is a SN
counter for each QoS queue and one global/baseline counter for
Non-QoS.

Fixes: 84aff52e4f57 ("wcn36xx: Use sequence number allocated by mac80211")
Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1635150336-18736-1-git-send-email-loic.poulain@linaro.org
drivers/net/wireless/ath/wcn36xx/txrx.c