Quellcode durchsuchen

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 vor 8 Jahren
Ursprung
Commit
a8d98c8f5e
1 geänderte Dateien mit 9 neuen und 9 gelöschten Zeilen
  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: