From 94b76158c13cd6cc8697dd26cb20cdad5339c434 Mon Sep 17 00:00:00 2001 From: chenguo Date: Wed, 24 Jan 2018 19:39:23 +0800 Subject: [PATCH] qcacmn: hotfix for qdf_nbuf_map checking logic of TSO TX The map\unmap checking logic need to be revised. Before that, it is needed this hotfix to unblock other test. CRs-Fixed: 2175684 Change-Id: Ife8147526307924079be9081eaf17323f67b87c0 --- dp/wifi3.0/dp_tx.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/dp/wifi3.0/dp_tx.c b/dp/wifi3.0/dp_tx.c index ab0db15e236b..79340381de7a 100644 --- a/dp/wifi3.0/dp_tx.c +++ b/dp/wifi3.0/dp_tx.c @@ -2200,12 +2200,13 @@ static inline void dp_tx_comp_free_buf(struct dp_soc *soc, desc->msdu_ext_desc->vaddr)) { /* If remaining number of segment is 0 * actual TSO may unmap and free */ - if (!DP_DESC_NUM_FRAG(desc)) { - qdf_nbuf_unmap(soc->osdev, nbuf, + if (qdf_nbuf_get_users(nbuf) == 1) + __qdf_nbuf_unmap_single(soc->osdev, + nbuf, QDF_DMA_TO_DEVICE); - qdf_nbuf_free(nbuf); - return; - } + + qdf_nbuf_free(nbuf); + return; } }