From cb30062355ec86f310c5920a33709302f8fbe848 Mon Sep 17 00:00:00 2001 From: Manjunathappa Prakash Date: Thu, 30 Nov 2017 18:19:32 -0800 Subject: [PATCH] qcacmn: enqueue back dequeued packet if mmap fails In htc_issue_packet takecare to enqueue back the dequeued packet. Otherwise we will be leaking the packet. Also takecare to unmap the mapped netbuf if we fail to send. Change-Id: I48dbe537ae5b0fe89785f4309325c7089b2ace56 CRs-Fixed: 2151122 --- htc/htc_send.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/htc/htc_send.c b/htc/htc_send.c index ff3dc3d0be89..2f3470dcb48c 100644 --- a/htc/htc_send.c +++ b/htc/htc_send.c @@ -660,6 +660,8 @@ static QDF_STATUS htc_issue_packets(HTC_TARGET *target, AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("%s nbuf Map Fail Endpnt %pK\n", __func__, pEndpoint)); + HTC_PACKET_ENQUEUE_TO_HEAD(pPktQueue, + pPacket); status = QDF_STATUS_E_FAILURE; break; } @@ -706,6 +708,9 @@ static QDF_STATUS htc_issue_packets(HTC_TARGET *target, ("hif_send Failed status:%d\n", status)); } + qdf_nbuf_unmap(target->osdev, + GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket), + QDF_DMA_TO_DEVICE); if (!pEndpoint->async_update) { LOCK_HTC_TX(target); }