From 979014b3411f72f7f7f71298bccd8b246bab917a Mon Sep 17 00:00:00 2001 From: "Isaac J. Manjarres" Date: Mon, 6 Apr 2020 13:28:28 -0700 Subject: [PATCH] ion: Remove ION_HEAP_FLAG_DEFER_FREE for dynamic carveout heaps Dynamic carveout heaps can have their memory removed immediately after all of its memory is no longer in use. However, the deferred free mechanism that carveout heaps use can cause immediate removal of heap memory to fail. Thus, do not use the ION_HEAP_FLAG_DEFER_FREE flag for dynamic carveout heaps. Change-Id: I2e4edd130cad9f1361b88210e69cf24cb0f271bb Signed-off-by: Isaac J. Manjarres --- drivers/staging/android/ion/heaps/ion_carveout_heap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/android/ion/heaps/ion_carveout_heap.c b/drivers/staging/android/ion/heaps/ion_carveout_heap.c index 7d55892535af..98e949362f0c 100644 --- a/drivers/staging/android/ion/heaps/ion_carveout_heap.c +++ b/drivers/staging/android/ion/heaps/ion_carveout_heap.c @@ -301,7 +301,8 @@ __ion_carveout_heap_create(struct ion_platform_heap *heap_data, carveout_heap->heap.ion_heap.buf_ops = msm_ion_dma_buf_ops; carveout_heap->heap.msm_heap_ops = &msm_carveout_heap_ops; carveout_heap->heap.ion_heap.type = ION_HEAP_TYPE_CARVEOUT; - carveout_heap->heap.ion_heap.flags = ION_HEAP_FLAG_DEFER_FREE; + if (!dynamic_heap) + carveout_heap->heap.ion_heap.flags = ION_HEAP_FLAG_DEFER_FREE; return &carveout_heap->heap.ion_heap; }