diff options
| author | Mahesh Sivasubramanian <msivasub@codeaurora.org> | 2015-12-23 08:58:02 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:16:11 -0700 |
| commit | b76b65b3e4e58a975026872dc685c2fbe56ea13a (patch) | |
| tree | 6d479d4fe509d7559f435a17bd9c721a3796758d | |
| parent | b780053bf349562b91d4e3f47859eb004d66850d (diff) | |
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 <msivasub@codeaurora.org>
| -rw-r--r-- | drivers/soc/qcom/rpm-smd.c | 4 |
1 files changed, 3 insertions, 1 deletions
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; |
