Sfoglia il codice sorgente

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 anni fa
parent
commit
a8d98c8f5e
1 ha cambiato i file con 9 aggiunte e 9 eliminazioni
  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->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: