diff --git a/dp/wifi3.0/dp_tx.c b/dp/wifi3.0/dp_tx.c index fe9e0f5233..a7515492a5 100644 --- a/dp/wifi3.0/dp_tx.c +++ b/dp/wifi3.0/dp_tx.c @@ -2125,8 +2125,10 @@ void dp_tx_nbuf_unmap(struct dp_soc *soc, static inline void dp_tx_enh_unmap(struct dp_soc *soc, struct dp_tx_desc_s *desc) { - dp_tx_nbuf_unmap(soc, desc); - desc->flags |= DP_TX_DESC_FLAG_UNMAP_DONE; + if (qdf_likely(!(desc->flags & DP_TX_DESC_FLAG_UNMAP_DONE))) { + dp_tx_nbuf_unmap(soc, desc); + desc->flags |= DP_TX_DESC_FLAG_UNMAP_DONE; + } } static inline void dp_tx_unmap(struct dp_soc *soc, struct dp_tx_desc_s *desc)