Selaa lähdekoodia

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
Venkateswara Swamy Bandaru 8 vuotta sitten
vanhempi
sitoutus
a8d98c8f5e
1 muutettua tiedostoa jossa 9 lisäystä ja 9 poistoa
  1. 9 9
      dp/wifi3.0/dp_tx.c

+ 9 - 9
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->pdev = pdev;
 	tx_desc->msdu_ext_desc = NULL;
 	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;
 	align_pad = ((unsigned long) qdf_nbuf_mapped_paddr_get(nbuf)) & 0x7;
 	tx_desc->pkt_offset = align_pad;
 	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);
 		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;
 	return tx_desc;
 
 
 failure:
 failure: