2024-03-11 18:08:37

by Thiraviyam Mariyappan

[permalink] [raw]
Subject: [PATCH v2] wifi: ath12k: fix desc address calculation in wbm tx completion

From: Thiraviyam Mariyappan <[email protected]>

In tx completion, status desc is obtained from offsetting the address
from wbm ring. Having HTT_TX_WBM_COMP_STATUS_OFFSET(8) and reserved 8
bytes in status desc offsets the address twice and read the values
from the incorrect address. Hence, remove the
HTT_TX_WBM_COMP_STATUS_OFFSET from wbm completion address calculation.

Also this patch is applicable for WCN7850.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1

Signed-off-by: Thiraviyam Mariyappan <[email protected]>
---
v2:
- removed the addition of HTT_TX_WBM_COMP_STATUS_OFFSET instead of
structure changes.
- modified commit log and renamed subject from "wifi: ath12k: remove
reserve member of wbm completion structure".
---
drivers/net/wireless/ath/ath12k/dp.h | 2 --
drivers/net/wireless/ath/ath12k/dp_tx.c | 2 +-
2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/dp.h b/drivers/net/wireless/ath/ath12k/dp.h
index eb2dd408e081..9b83b9230bbc 100644
--- a/drivers/net/wireless/ath/ath12k/dp.h
+++ b/drivers/net/wireless/ath/ath12k/dp.h
@@ -377,8 +377,6 @@ struct ath12k_dp {
/* peer meta data */
#define HTT_TCL_META_DATA_PEER_ID GENMASK(15, 2)

-#define HTT_TX_WBM_COMP_STATUS_OFFSET 8
-
/* HTT tx completion is overlaid in wbm_release_ring */
#define HTT_TX_WBM_COMP_INFO0_STATUS GENMASK(16, 13)
#define HTT_TX_WBM_COMP_INFO1_REINJECT_REASON GENMASK(3, 0)
diff --git a/drivers/net/wireless/ath/ath12k/dp_tx.c b/drivers/net/wireless/ath/ath12k/dp_tx.c
index 572b87153647..9b6d7d72f57c 100644
--- a/drivers/net/wireless/ath/ath12k/dp_tx.c
+++ b/drivers/net/wireless/ath/ath12k/dp_tx.c
@@ -414,7 +414,7 @@ ath12k_dp_tx_process_htt_tx_complete(struct ath12k_base *ab,
struct ath12k_dp_htt_wbm_tx_status ts = {0};
enum hal_wbm_htt_tx_comp_status wbm_status;

- status_desc = desc + HTT_TX_WBM_COMP_STATUS_OFFSET;
+ status_desc = desc;

wbm_status = le32_get_bits(status_desc->info0,
HTT_TX_WBM_COMP_INFO0_STATUS);
--
2.17.1



2024-03-11 18:24:24

by Jeff Johnson

[permalink] [raw]
Subject: Re: [PATCH v2] wifi: ath12k: fix desc address calculation in wbm tx completion

On 3/11/2024 11:07 AM, [email protected] wrote:
> From: Thiraviyam Mariyappan <[email protected]>
>
> In tx completion, status desc is obtained from offsetting the address
> from wbm ring. Having HTT_TX_WBM_COMP_STATUS_OFFSET(8) and reserved 8
> bytes in status desc offsets the address twice and read the values
> from the incorrect address. Hence, remove the
> HTT_TX_WBM_COMP_STATUS_OFFSET from wbm completion address calculation.
>
> Also this patch is applicable for WCN7850.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Thiraviyam Mariyappan <[email protected]>

Acked-by: Jeff Johnson <[email protected]>


2024-03-20 10:08:02

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH v2] wifi: ath12k: fix desc address calculation in wbm tx completion

[email protected] wrote:

> In tx completion, status desc is obtained from offsetting the address
> from wbm ring. Having HTT_TX_WBM_COMP_STATUS_OFFSET(8) and reserved 8
> bytes in status desc offsets the address twice and read the values
> from the incorrect address. Hence, remove the
> HTT_TX_WBM_COMP_STATUS_OFFSET from wbm completion address calculation.
>
> Also this patch is applicable for WCN7850.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Thiraviyam Mariyappan <[email protected]>
> Acked-by: Jeff Johnson <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>

Patch applied to ath-next branch of ath.git, thanks.

a49732b1f1f8 wifi: ath12k: fix desc address calculation in wbm tx completion

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


2024-03-20 12:02:09

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH v2] wifi: ath12k: fix desc address calculation in wbm tx completion

[email protected] writes:

> From: Thiraviyam Mariyappan <[email protected]>
>
> In tx completion, status desc is obtained from offsetting the address
> from wbm ring. Having HTT_TX_WBM_COMP_STATUS_OFFSET(8) and reserved 8
> bytes in status desc offsets the address twice and read the values
> from the incorrect address. Hence, remove the
> HTT_TX_WBM_COMP_STATUS_OFFSET from wbm completion address calculation.
>
> Also this patch is applicable for WCN7850.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Thiraviyam Mariyappan <[email protected]>

BTW please fix your email setup. Your From header has now:

From: [email protected]

But it should contain your full name as well:

From: Thiraviyam Mariyappan <[email protected]>

That way there's no need to have an extra From header in the email body.

--
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches