From 05c1e81910cbf2f686faae08f26feda113c1170f Mon Sep 17 00:00:00 2001 From: jiad Date: Tue, 1 Aug 2017 16:48:52 +0800 Subject: [PATCH] qcacld-3.0: fix ipa mcc tx_desc leak In MCC case when vdev pause queue is full, driver fails to tx and pkts are dropped. ipa tx_desc only replenishes to ipa driver. This leads to holes in hdd_ipa_tx_desc free list and list will be drained out causing unexpected packet drops. Fix is to replenish tx_desc to wlan driver maintained free list as well using ipa registered skb free callback. Change-Id: I1ae8570816efd822d5ced2c6383a03c56b12ec89 CRs-Fixed: 2073444 --- core/hdd/src/wlan_hdd_ipa.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_ipa.c b/core/hdd/src/wlan_hdd_ipa.c index 545d2048733c..e0ebc952780a 100644 --- a/core/hdd/src/wlan_hdd_ipa.c +++ b/core/hdd/src/wlan_hdd_ipa.c @@ -4143,9 +4143,8 @@ static void hdd_ipa_send_pkt_to_tl( ipa_tx_desc->skb); if (skb) { HDD_IPA_LOG(QDF_TRACE_LEVEL_DEBUG, "TLSHIM tx fail"); - ipa_free_skb(ipa_tx_desc); + qdf_nbuf_free(skb); iface_context->stats.num_tx_err++; - hdd_ipa_rm_try_release(hdd_ipa); return; }