summaryrefslogtreecommitdiff
path: root/drivers/platform
diff options
context:
space:
mode:
authorSkylar Chang <chiaweic@codeaurora.org>2016-08-27 22:53:22 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-09-05 01:35:20 -0700
commitbd09eb993a1a1830b374c9263d3829b0b41b8e49 (patch)
treee9e2335b5b6bc23da2c9ecfc006f86939f4d12f4 /drivers/platform
parentb1750ed67da7d11df729dd88328a9f1a7f481068 (diff)
msm: ipa: fix skb recycle logic
skbs are recycled on LAN pipe. This changes fixes a bug where the skb was freed before recycle. Change-Id: I35734cd41aee8bdd2764d6307f76bedcb916a07b CRs-Fixed: 1060534 Acked-by: Ady Abraham <adya@qti.qualcomm.com> Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Diffstat (limited to 'drivers/platform')
-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 c0ac544fa271..695c8bc4cbc0 100644
--- a/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c
+++ b/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c
@@ -2397,7 +2397,7 @@ begin:
if (skb->len < IPA_PKT_STATUS_SIZE) {
WARN_ON(sys->prev_skb != NULL);
IPADBG("status straddles buffer\n");
- sys->prev_skb = skb;
+ sys->prev_skb = skb_copy(skb, GFP_KERNEL);
sys->len_partial = skb->len;
return rc;
}
@@ -2482,7 +2482,7 @@ begin:
!status->exception) {
WARN_ON(sys->prev_skb != NULL);
IPADBG("Ins header in next buffer\n");
- sys->prev_skb = skb;
+ sys->prev_skb = skb_copy(skb, GFP_KERNEL);
sys->len_partial = skb->len;
return rc;
}