ソースを参照

qcacmn: Refine code about ME buf's freeing

Part of change in 3382883 are deleted
unintentionally. Add them back

Change-Id: I2d806c800f0a238e154297c2e1c3b2fd56608252
CRs-Fixed: 2813756
Yu Tian 4 年 前
コミット
e8889ab6b7
1 ファイル変更4 行追加1 行削除
  1. 4 1
      dp/wifi3.0/dp_tx.c

+ 4 - 1
dp/wifi3.0/dp_tx.c

@@ -2096,13 +2096,16 @@ static inline void dp_tx_comp_free_buf(struct dp_soc *soc,
 			return;
 		}
 	}
+	/* If it's ME frame, dont unmap the cloned nbuf's */
+	if ((desc->flags & DP_TX_DESC_FLAG_ME) && qdf_nbuf_is_cloned(nbuf))
+		goto nbuf_free;
 
 	qdf_nbuf_unmap_nbytes_single(soc->osdev, nbuf,
 				     QDF_DMA_TO_DEVICE, nbuf->len);
 
 	if (desc->flags & DP_TX_DESC_FLAG_MESH_MODE)
 		return dp_mesh_tx_comp_free_buff(soc, desc);
-
+nbuf_free:
 	qdf_nbuf_free(nbuf);
 }