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
This commit is contained in:
Venkateswara Swamy Bandaru 2017-03-24 19:54:18 +05:30 • committed by Sandeep Puligilla
commit a8d98c8f5e

View file

@ -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: