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
This commit is contained in:
jiad
2017-08-01 16:48:52 +08:00
committed by snandini
parent 87f0139d6a
commit 05c1e81910

View File

@@ -4143,9 +4143,8 @@ static void hdd_ipa_send_pkt_to_tl(
ipa_tx_desc->skb); ipa_tx_desc->skb);
if (skb) { if (skb) {
HDD_IPA_LOG(QDF_TRACE_LEVEL_DEBUG, "TLSHIM tx fail"); 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++; iface_context->stats.num_tx_err++;
hdd_ipa_rm_try_release(hdd_ipa);
return; return;
} }