From e8889ab6b716cc13847a6340ae261533398ef22b Mon Sep 17 00:00:00 2001 From: Yu Tian Date: Fri, 6 Nov 2020 12:27:39 +0800 Subject: [PATCH] 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 --- dp/wifi3.0/dp_tx.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dp/wifi3.0/dp_tx.c b/dp/wifi3.0/dp_tx.c index 0fc2fb04a2..a4a93e6af2 100644 --- a/dp/wifi3.0/dp_tx.c +++ b/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); }