summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Mossberg <johan.xx.mossberg@stericsson.com>2011-03-23 12:03:36 +0100
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:03:42 +0200
commitedb315559d342cb71a18d1f5a40713f139292df8 (patch)
treef855e40f1b397ca2e5e1b07ef351fa87121e5198
parent80bd40bf1f8810d678c834f23d4eb20452c70f0f (diff)
HWMEM: Reset ref count in clean_alloc
When hwmem_alloc fails to alloc virtual memory for the kernel mapping it will call clean_alloc with a non-zero ref count. If the ref count is not reset in that case we will leak HWMEM memory. ST-Ericsson ID: 330377 ST-Ericsson FOSS-OUT ID: STETL-FOSS-OUT-10068 Change-Id: I4c203bbd090a119d1e99cc7d294e827ab8a6e9e7 Signed-off-by: Johan Mossberg <johan.xx.mossberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/18942 Reviewed-by: QATOOLS Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
-rw-r--r--drivers/misc/hwmem/hwmem-main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/misc/hwmem/hwmem-main.c b/drivers/misc/hwmem/hwmem-main.c
index fbfd8502a1d..9223bdd013b 100644
--- a/drivers/misc/hwmem/hwmem-main.c
+++ b/drivers/misc/hwmem/hwmem-main.c
@@ -154,6 +154,7 @@ static void clean_alloc(struct hwmem_alloc *alloc)
}
alloc->flags = 0;
+ atomic_set(&alloc->ref_cnt, 0);
clean_hwmem_alloc_threadg_info_list(alloc);