From: Andrew Dodd Date: Tue, 18 Dec 2012 22:11:01 +0000 (-0500) Subject: gralloc: Add missing GRALLOC_USAGE_HW_FIMC1 logic X-Git-Tag: cm-10.1-M1~1 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f9f985d6ba644a11458d6051bb3af2e1babb14af;p=GitHub%2FLineageOS%2Fandroid_hardware_samsung.git 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 --- 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);