Просмотр исходного кода

qcacmn: Add SPECIAL descriptor flag in tx desc

Add SPECIAL descriptor flags in tx desc

Change-Id: I0ee73a939ef7734b5f37cdb278642772c1a8d2b9
CRs-Fixed: 3605272
Neha Bisht 1 год назад
Родитель
Сommit
c3dfb6b22c
3 измененных файлов с 4 добавлено и 3 удалено
  1. 2 3
      dp/wifi3.0/dp_tx.c
  2. 1 0
      dp/wifi3.0/dp_tx.h
  3. 1 0
      dp/wifi3.0/dp_tx_desc.h

+ 2 - 3
dp/wifi3.0/dp_tx.c

@@ -422,7 +422,7 @@ dp_tx_desc_release(struct dp_soc *soc, struct dp_tx_desc_s *tx_desc,
 		    tx_desc->id, comp_status,
 		    qdf_atomic_read(&pdev->num_tx_outstanding));
 
-	if (tx_desc->nbuf->protocol == QDF_NBUF_TRAC_EAPOL_ETH_TYPE)
+	if (tx_desc->flags & DP_TX_DESC_FLAG_SPECIAL)
 		dp_tx_spcl_desc_free(soc, tx_desc, desc_pool_id);
 	else
 		dp_tx_desc_free(soc, tx_desc, desc_pool_id);
@@ -5716,8 +5716,7 @@ dp_tx_comp_process_desc_list(struct dp_soc *soc,
 			if (desc->pool_id != DP_TX_PPEDS_POOL_ID) {
 				nbuf = desc->nbuf;
 				dp_tx_nbuf_dev_queue_free_no_flag(&h, nbuf);
-				if (nbuf->protocol ==
-						QDF_NBUF_TRAC_EAPOL_ETH_TYPE)
+				if (desc->flags & DP_TX_DESC_FLAG_SPECIAL)
 					dp_tx_spcl_desc_free(soc, desc,
 							     desc->pool_id);
 				else

+ 1 - 0
dp/wifi3.0/dp_tx.h

@@ -75,6 +75,7 @@ int dp_tx_proxy_arp(struct dp_vdev *vdev, qdf_nbuf_t nbuf);
 #define DP_TX_DESC_FLAG_FASTPATH_SIMPLE 0x10000
 #define DP_TX_DESC_FLAG_PPEDS		0x20000
 #define DP_TX_DESC_FLAG_FAST		0x40000
+#define DP_TX_DESC_FLAG_SPECIAL         0x80000
 
 #define DP_TX_EXT_DESC_FLAG_METADATA_VALID 0x1
 

+ 1 - 0
dp/wifi3.0/dp_tx_desc.h

@@ -1068,6 +1068,7 @@ static inline struct dp_tx_desc_s *dp_tx_spcl_desc_alloc(struct dp_soc *soc,
 	dp_tx_prefetch_desc(pool->freelist);
 
 	tx_desc->flags = DP_TX_DESC_FLAG_ALLOCATED;
+	tx_desc->flags |= DP_TX_DESC_FLAG_SPECIAL;
 
 	TX_DESC_LOCK_UNLOCK(&pool->lock);