Subject: [PATCH] ath10k: enable transmit data ack RSSI for QCA9884

From: Abhishek Ambure <[email protected]>

commit cc78dc3b790619aa05f22a86a9152986bd73698c upstream.

This commit fixes the regression caused by
commit 6ddc3860a566 ("ath10k: add support for ack rssi value of data tx packets")
in linux-5.4.y branch.

ath10k_is_rssi_enable() always returns 0 for QCA9984 and this will cause
the ppdu_info_offset to hold invalid value in ath10k_htt_rx_tx_compl_ind().

This leads to CE corruption for HTC endpoints to cause WMI command failures
with insufficient HTC credits. Below warnings are seen due to beacon
command failure in QCA9984.

[ 675.939638] ath10k_pci 0000:03:00.0: SWBA overrun on vdev 0, skipped old beacon
[ 675.947828] ath10k_pci 0000:04:00.0: SWBA overrun on vdev 1, skipped old beacon

Tested HW: QCA9984
Tested FW: 10.4-3.10-00047
Tested Kernel version: 5.4.22

Fixes: 6ddc3860a566 ("ath10k: add support for ack rssi value of data tx packets")
Signed-off-by: Abhishek Ambure <[email protected]>
Signed-off-by: Balaji Pothunoori <[email protected]>
[[email protected]: improve commit log]
Signed-off-by: Kalle Valo <[email protected]>
Signed-off-by: Sathishkumar Muruganandam <[email protected]>
---
drivers/net/wireless/ath/ath10k/hw.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/ath/ath10k/hw.c b/drivers/net/wireless/ath/ath10k/hw.c
index c415e971735b..004af89a02b8 100644
--- a/drivers/net/wireless/ath/ath10k/hw.c
+++ b/drivers/net/wireless/ath/ath10k/hw.c
@@ -1145,6 +1145,7 @@ static bool ath10k_qca99x0_rx_desc_msdu_limit_error(struct htt_rx_desc *rxd)
const struct ath10k_hw_ops qca99x0_ops = {
.rx_desc_get_l3_pad_bytes = ath10k_qca99x0_rx_desc_get_l3_pad_bytes,
.rx_desc_get_msdu_limit_error = ath10k_qca99x0_rx_desc_msdu_limit_error,
+ .is_rssi_enable = ath10k_htt_tx_rssi_enable,
};

const struct ath10k_hw_ops qca6174_ops = {
--
2.17.1


2020-08-01 10:36:38

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] ath10k: enable transmit data ack RSSI for QCA9884

On Fri, Jul 31, 2020 at 03:14:16PM +0530, Sathishkumar Muruganandam wrote:
> From: Abhishek Ambure <[email protected]>
>
> commit cc78dc3b790619aa05f22a86a9152986bd73698c upstream.
>
> This commit fixes the regression caused by
> commit 6ddc3860a566 ("ath10k: add support for ack rssi value of data tx packets")
> in linux-5.4.y branch.
>
> ath10k_is_rssi_enable() always returns 0 for QCA9984 and this will cause
> the ppdu_info_offset to hold invalid value in ath10k_htt_rx_tx_compl_ind().
>
> This leads to CE corruption for HTC endpoints to cause WMI command failures
> with insufficient HTC credits. Below warnings are seen due to beacon
> command failure in QCA9984.
>
> [ 675.939638] ath10k_pci 0000:03:00.0: SWBA overrun on vdev 0, skipped old beacon
> [ 675.947828] ath10k_pci 0000:04:00.0: SWBA overrun on vdev 1, skipped old beacon
>
> Tested HW: QCA9984
> Tested FW: 10.4-3.10-00047
> Tested Kernel version: 5.4.22
>
> Fixes: 6ddc3860a566 ("ath10k: add support for ack rssi value of data tx packets")
> Signed-off-by: Abhishek Ambure <[email protected]>
> Signed-off-by: Balaji Pothunoori <[email protected]>
> [[email protected]: improve commit log]
> Signed-off-by: Kalle Valo <[email protected]>
> Signed-off-by: Sathishkumar Muruganandam <[email protected]>
> ---
> drivers/net/wireless/ath/ath10k/hw.c | 1 +
> 1 file changed, 1 insertion(+)

Now queued up, thanks.

greg k-h