aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLoic Poulain <loic.poulain@linaro.org>2021-10-13 15:09:05 +0200
committerLoic Poulain <loic.poulain@linaro.org>2021-10-18 12:03:13 +0200
commit981013d4a51e66e0322ac654cc9d93912d0237c2 (patch)
tree1da556dcb9b1b24eb949cb1c7d5219b0a6f5ffc7 /drivers
parente1160e53d09492887090f51c8c8370df7d366741 (diff)
wcn36xx: Fix disconnect due to keep-alive non-ack
The mac80211 generates a keep-alive packet at regular interval, but this seems to cause some unexpected connection drop because of never acked null data packet. Look like the firmware is not able to generate correct null packets with regular data rate. Make sure null data packets are always sent at the control packet rate, this also prevent disconnect in noisy connection, and we don't really care about the speed of null data packets. Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ath/wcn36xx/txrx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/wcn36xx/txrx.c b/drivers/net/wireless/ath/wcn36xx/txrx.c
index ef09bdcc32a18..fd835c84db539 100644
--- a/drivers/net/wireless/ath/wcn36xx/txrx.c
+++ b/drivers/net/wireless/ath/wcn36xx/txrx.c
@@ -515,6 +515,7 @@ static void wcn36xx_set_tx_data(struct wcn36xx_tx_bd *bd,
if (ieee80211_is_any_nullfunc(hdr->frame_control)) {
/* Don't use a regular queue for null packet (no ampdu) */
bd->queue_id = WCN36XX_TX_U_WQ_ID;
+ bd->bd_rate = WCN36XX_BD_RATE_CTRL;
}
if (bcast) {