From a8d98c8f5ee29c736fc9657d16095620d805e432 Mon Sep 17 00:00:00 2001 From: Venkateswara Swamy Bandaru Date: Fri, 24 Mar 2017 19:54:18 +0530 Subject: [PATCH] qcacmn: Fix incorrect meta header issue in mesh tx path After updating the skb with meta header cache flush is not happening. This is sending incorrect meta data to firmware. Fixed this by doing cache flush after meta header updation in skb. Change-Id: I0952093e3080f5b8ec2233e6ab1edf4f48351603 CRs-Fixed: 2003389 --- dp/wifi3.0/dp_tx.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/dp/wifi3.0/dp_tx.c b/dp/wifi3.0/dp_tx.c index 1ea4a0243e53..4ceda856ca6e 100644 --- a/dp/wifi3.0/dp_tx.c +++ b/dp/wifi3.0/dp_tx.c @@ -403,15 +403,6 @@ struct dp_tx_desc_s *dp_tx_prepare_desc_single(struct dp_vdev *vdev, tx_desc->pdev = pdev; tx_desc->msdu_ext_desc = NULL; - if (qdf_unlikely(QDF_STATUS_SUCCESS != - qdf_nbuf_map_nbytes_single(soc->osdev, nbuf, - QDF_DMA_TO_DEVICE, qdf_nbuf_len(nbuf)))) { - /* Handle failure */ - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, - "qdf_nbuf_map_nbytes_single failed\n"); - goto failure; - } - align_pad = ((unsigned long) qdf_nbuf_mapped_paddr_get(nbuf)) & 0x7; tx_desc->pkt_offset = align_pad; @@ -448,6 +439,15 @@ struct dp_tx_desc_s *dp_tx_prepare_desc_single(struct dp_vdev *vdev, qdf_atomic_inc(&pdev->num_tx_exception); } + if (qdf_unlikely(QDF_STATUS_SUCCESS != + qdf_nbuf_map(soc->osdev, nbuf, + QDF_DMA_TO_DEVICE))) { + /* Handle failure */ + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, + "qdf_nbuf_map failed\n"); + goto failure; + } + return tx_desc; failure: