wifi: ath12k: Use skb->len for dma_unmap_single() length parameter
authorP Praneesh <praneesh.p@oss.qualcomm.com>
Fri, 11 Apr 2025 06:01:54 +0000 (11:31 +0530)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Thu, 17 Apr 2025 22:49:33 +0000 (15:49 -0700)
During dma_unmap_single() for extended skb, the driver currently uses
sizeof() of the corresponding structure. When the allocation size changes,
one of the parameters of dma_unmap_single() needs to be updated everywhere.
Improve code readability by using skb->len instead of sizeof() the structure.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Signed-off-by: P Praneesh <praneesh.p@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20250411060154.1388159-5-praneesh.p@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath12k/dp_tx.c

index 9bcd207..2136eeb 100644 (file)
@@ -493,7 +493,7 @@ map:
 fail_unmap_dma_ext:
        if (skb_cb->paddr_ext_desc)
                dma_unmap_single(ab->dev, skb_cb->paddr_ext_desc,
-                                sizeof(struct hal_tx_msdu_ext_desc),
+                                skb_ext_desc->len,
                                 DMA_TO_DEVICE);
 fail_free_ext_skb:
        kfree_skb(skb_ext_desc);
@@ -529,7 +529,7 @@ static void ath12k_dp_tx_free_txbuf(struct ath12k_base *ab,
        dma_unmap_single(ab->dev, skb_cb->paddr, msdu->len, DMA_TO_DEVICE);
        if (skb_cb->paddr_ext_desc) {
                dma_unmap_single(ab->dev, skb_cb->paddr_ext_desc,
-                                sizeof(struct hal_tx_msdu_ext_desc), DMA_TO_DEVICE);
+                                desc_params->skb_ext_desc->len, DMA_TO_DEVICE);
                dev_kfree_skb_any(desc_params->skb_ext_desc);
        }
 
@@ -564,7 +564,7 @@ ath12k_dp_tx_htt_tx_complete_buf(struct ath12k_base *ab,
        dma_unmap_single(ab->dev, skb_cb->paddr, msdu->len, DMA_TO_DEVICE);
        if (skb_cb->paddr_ext_desc) {
                dma_unmap_single(ab->dev, skb_cb->paddr_ext_desc,
-                                sizeof(struct hal_tx_msdu_ext_desc), DMA_TO_DEVICE);
+                                desc_params->skb_ext_desc->len, DMA_TO_DEVICE);
                dev_kfree_skb_any(desc_params->skb_ext_desc);
        }
 
@@ -781,7 +781,7 @@ static void ath12k_dp_tx_complete_msdu(struct ath12k *ar,
        dma_unmap_single(ab->dev, skb_cb->paddr, msdu->len, DMA_TO_DEVICE);
        if (skb_cb->paddr_ext_desc) {
                dma_unmap_single(ab->dev, skb_cb->paddr_ext_desc,
-                                sizeof(struct hal_tx_msdu_ext_desc), DMA_TO_DEVICE);
+                                desc_params->skb_ext_desc->len, DMA_TO_DEVICE);
                dev_kfree_skb_any(desc_params->skb_ext_desc);
        }