From b76b65b3e4e58a975026872dc685c2fbe56ea13a Mon Sep 17 00:00:00 2001 From: Mahesh Sivasubramanian Date: Wed, 23 Dec 2015 08:58:02 -0700 Subject: [PATCH] soc: qcom: rpm-smd: free NOACK messages upon receipt For RPM messages that dont require to be waited on, when an ACK is received, there are no drivers waiting on it. So the element never gets freed resulting in a memory leak. Change-Id: I5cce36750e0acfa66b3d23a770986bd1de20601c Signed-off-by: Mahesh Sivasubramanian --- drivers/soc/qcom/rpm-smd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/soc/qcom/rpm-smd.c b/drivers/soc/qcom/rpm-smd.c index 193dfee8d1ea..9eef7bd06676 100644 --- a/drivers/soc/qcom/rpm-smd.c +++ b/drivers/soc/qcom/rpm-smd.c @@ -915,8 +915,10 @@ static void msm_rpm_process_ack(uint32_t msg_id, int errno) elem->errno = errno; elem->ack_recd = true; complete(&elem->ack); - if (elem->delete_on_ack) + if (elem->delete_on_ack) { list_del(&elem->list); + kfree(elem); + } break; } elem = NULL;