From f9f985d6ba644a11458d6051bb3af2e1babb14af Mon Sep 17 00:00:00 2001 From: Andrew Dodd Date: Tue, 18 Dec 2012 17:11:01 -0500 Subject: [PATCH] gralloc: Add missing GRALLOC_USAGE_HW_FIMC1 logic This caused the ION pointer to get clobbered with a UMP pointer when FIMC1 memory was requested. After a while, camera would be unable to allocate buffers due to ION memory not being freed properly. Change-Id: I1ba1d27da924a0bb81631548e83c7f3e5789f319 --- exynos4/hal/libgralloc_ump/alloc_device.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exynos4/hal/libgralloc_ump/alloc_device.cpp b/exynos4/hal/libgralloc_ump/alloc_device.cpp index f2befdd..1e8ad5d 100644 --- a/exynos4/hal/libgralloc_ump/alloc_device.cpp +++ b/exynos4/hal/libgralloc_ump/alloc_device.cpp @@ -224,7 +224,7 @@ static int gralloc_alloc_buffer(alloc_device_t* dev, size_t size, int usage, ump_mem_handle = ump_ref_drv_allocate(size, UMP_REF_DRV_CONSTRAINT_NONE); #endif if (UMP_INVALID_MEMORY_HANDLE != ump_mem_handle) { - if (!(usage & GRALLOC_USAGE_HW_ION)) + if (!(usage & GRALLOC_USAGE_HW_ION || usage & GRALLOC_USAGE_HW_FIMC1)) cpu_ptr = ump_mapped_pointer_get(ump_mem_handle); if (NULL != cpu_ptr) { ump_id = ump_secure_id_get(ump_mem_handle); -- 2.20.1