summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSridhar Ancha <sancha@codeaurora.org>2016-05-10 18:06:17 +0530
committerJeevan Shriram <jshriram@codeaurora.org>2016-05-16 20:10:48 -0700
commitc0717983b76a6411c88ba659878d93f25184f5e4 (patch)
tree6f6801231a7b53815ae1c84fcd8cac97f26f0536 /drivers
parent77c5a65855cbc82ba4d9f4cdbe6b2836f582c646 (diff)
msm: ipa: Fix to memory leak when sending non-linear data
In cases where source ep or dest ep is not valid, descriptor memory allocated for frag skb's is not freed. Make a change to free the memory in such error cases. Change-Id: Ie15c48ae1bb34e304795607a09c753360eb015ec Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com> Signed-off-by: Sridhar Ancha <sancha@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/platform/msm/ipa/ipa_v2/ipa_dp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c b/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c
index e3dfccd01549..9a2797537712 100644
--- a/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c
+++ b/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c
@@ -1587,14 +1587,14 @@ int ipa2_tx_dp(enum ipa_client_type dst, struct sk_buff *skb,
if (-1 == src_ep_idx) {
IPAERR("Client %u is not mapped\n",
IPA_CLIENT_APPS_LAN_WAN_PROD);
- return -EFAULT;
+ goto fail_gen;
}
dst_ep_idx = ipa2_get_ep_mapping(dst);
} else {
src_ep_idx = ipa2_get_ep_mapping(dst);
if (-1 == src_ep_idx) {
IPAERR("Client %u is not mapped\n", dst);
- return -EFAULT;
+ goto fail_gen;
}
if (meta && meta->pkt_init_dst_ep_valid)
dst_ep_idx = meta->pkt_init_dst_ep;