فهرست منبع

qcacmn: Set to_fw to 1 in HW descriptor for scattered skb

The to_fw bit in HW descriptor is not set for exception
marked skb that is scattered across multiple pages. In the
case of direct link, this would result in crash as TQM
bypass mode is used for direct link vdev.

Fix is to set the to_fw bit to 1 in HW descriptor for
exception marked skb.

Change-Id: I060ad4ad59f85e09f39bd85080e0b3138a39402c
CRs-Fixed: 3490554
Yeshwanth Sriram Guntuka 2 سال پیش
والد
کامیت
45690711be
1فایلهای تغییر یافته به همراه8 افزوده شده و 5 حذف شده
  1. 8 5
      dp/wifi3.0/dp_tx.c

+ 8 - 5
dp/wifi3.0/dp_tx.c

@@ -1319,13 +1319,16 @@ static struct dp_tx_desc_s *dp_tx_prepare_desc(struct dp_vdev *vdev,
 		goto failure;
 	}
 
-#if TQM_BYPASS_WAR
-	/* Temporary WAR due to TQM VP issues */
-	tx_desc->flags |= DP_TX_DESC_FLAG_TO_FW;
-	qdf_atomic_inc(&soc->num_tx_exception);
+#if !TQM_BYPASS_WAR
+	if (qdf_unlikely(msdu_info->exception_fw) ||
+	    dp_tx_is_nbuf_marked_exception(soc, nbuf))
 #endif
-	if (qdf_unlikely(msdu_info->exception_fw))
+	{
+		/* Temporary WAR due to TQM VP issues */
 		tx_desc->flags |= DP_TX_DESC_FLAG_TO_FW;
+		qdf_atomic_inc(&soc->num_tx_exception);
+	}
+
 
 	tx_desc->msdu_ext_desc = msdu_ext_desc;
 	tx_desc->flags |= DP_TX_DESC_FLAG_FRAG;