diff mbox series

wifi: ath12k: avoid unnecessary MSDU drop in the Rx error process

Message ID 20240604062641.2956288-1-quic_periyasa@quicinc.com (mailing list archive)
State Accepted
Commit 9e32058ae62f1d8fdf1ee7b177a1307f90335fbd
Delegated to: Kalle Valo
Headers show
Series wifi: ath12k: avoid unnecessary MSDU drop in the Rx error process | expand

Commit Message

Karthikeyan Periyasamy June 4, 2024, 6:26 a.m. UTC
Currently, in the Rx error processing handler, once an MSDU drop is
detected, the subsequent MSDUs get unintentionally dropped due to the
previous drop flag being retained across all MSDU processing, leading
to the discarding of valid MSDUs. To resolve this issue, the drop flag
should be reset to false before processing each descriptor.

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

Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
---
 drivers/net/wireless/ath/ath12k/dp_rx.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


base-commit: a116bf2be795eb1db75fa6a48aa85c397be001a6

Comments

Jeff Johnson June 4, 2024, 8:58 p.m. UTC | #1
On 6/3/2024 11:26 PM, Karthikeyan Periyasamy wrote:
> Currently, in the Rx error processing handler, once an MSDU drop is
> detected, the subsequent MSDUs get unintentionally dropped due to the
> previous drop flag being retained across all MSDU processing, leading
> to the discarding of valid MSDUs. To resolve this issue, the drop flag
> should be reset to false before processing each descriptor.
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
> 
> Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Kalle Valo June 11, 2024, 6:42 p.m. UTC | #2
Karthikeyan Periyasamy <quic_periyasa@quicinc.com> wrote:

> Currently, in the Rx error processing handler, once an MSDU drop is
> detected, the subsequent MSDUs get unintentionally dropped due to the
> previous drop flag being retained across all MSDU processing, leading
> to the discarding of valid MSDUs. To resolve this issue, the drop flag
> should be reset to false before processing each descriptor.
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
> 
> Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
> Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>

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

9e32058ae62f wifi: ath12k: avoid unnecessary MSDU drop in the Rx error process
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath12k/dp_rx.c b/drivers/net/wireless/ath/ath12k/dp_rx.c
index cb1f308f096b..54aea3c22311 100644
--- a/drivers/net/wireless/ath/ath12k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath12k/dp_rx.c
@@ -3402,7 +3402,7 @@  int ath12k_dp_rx_process_err(struct ath12k_base *ab, struct napi_struct *napi,
 	struct ath12k *ar;
 	dma_addr_t paddr;
 	bool is_frag;
-	bool drop = false;
+	bool drop;
 	int pdev_id;
 
 	tot_n_bufs_reaped = 0;
@@ -3420,7 +3420,9 @@  int ath12k_dp_rx_process_err(struct ath12k_base *ab, struct napi_struct *napi,
 
 	while (budget &&
 	       (reo_desc = ath12k_hal_srng_dst_get_next_entry(ab, srng))) {
+		drop = false;
 		ab->soc_stats.err_ring_pkts++;
+
 		ret = ath12k_hal_desc_reo_parse_err(ab, reo_desc, &paddr,
 						    &desc_bank);
 		if (ret) {