summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-10-05 16:09:55 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-10-05 16:09:55 -0700
commit5ef257fe1448ba1763717f7290ca0d1000d69fec (patch)
tree8addd6e106b1a17e730ee0d8a7621dd943f4cdc3 /drivers
parent6f710cc042854123847bc8f552eab14946ab77b3 (diff)
parent10181e627990c8887b8c4b62267d42015d1b7a9b (diff)
Merge "soc: qcom: glink: Free if_ptr before freeing dummy transport"
Diffstat (limited to 'drivers')
-rw-r--r--drivers/soc/qcom/glink.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/soc/qcom/glink.c b/drivers/soc/qcom/glink.c
index f3debd14c27b..ad9bf3a2232d 100644
--- a/drivers/soc/qcom/glink.c
+++ b/drivers/soc/qcom/glink.c
@@ -1667,6 +1667,8 @@ void ch_purge_intent_lists(struct channel_ctx *ctx)
&ctx->local_rx_intent_list, list) {
ctx->notify_rx_abort(ctx, ctx->user_priv,
ptr_intent->pkt_priv);
+ ctx->transport_ptr->ops->deallocate_rx_intent(
+ ctx->transport_ptr->ops, ptr_intent);
list_del(&ptr_intent->list);
kfree(ptr_intent);
}
@@ -3765,6 +3767,8 @@ static void glink_dummy_xprt_ctx_release(struct rwref_lock *xprt_st_lock)
GLINK_INFO("%s: freeing transport [%s->%s]context\n", __func__,
xprt_ctx->name,
xprt_ctx->edge);
+ kfree(xprt_ctx->ops);
+ xprt_ctx->ops = NULL;
kfree(xprt_ctx);
}