From: Amit Pundir Date: Mon, 18 Jan 2016 19:47:30 +0000 (+0530) Subject: ion: fix page pool cache policy X-Git-Tag: firefly_0821_release~2958^2~135 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e9db98677f921dc1604a6bf1de2e0b0e8f4f9ae5;p=firefly-linux-kernel-4.4.55.git ion: fix page pool cache policy Fix redundant "buffer->private_flags & ION_PRIV_FLAG_SHRINKER_FREE" checks in if(!cached ...) condition block. AOSP Change-Id: I98ee8902df0c80135dddfa998c4ca4c2bb44e40e, "ion: Handle the memory mapping correctly on x86", is broken on android-3.18+ kernels. It conflicts with upstream commit 53a91c68fa7b, "staging: ion: Add private buffer flag to skip page pooling on free", and break the ION_PRIV_FLAG_SHRINKER_FREE private flag check logic. Change-Id: I9cee4bcc3545cf92e07c21c2b42d27cf88da3316 Reported-by: chenfeng Signed-off-by: Amit Pundir --- diff --git a/drivers/staging/android/ion/ion_system_heap.c b/drivers/staging/android/ion/ion_system_heap.c index fa62cc433d48..57d115d0f179 100644 --- a/drivers/staging/android/ion/ion_system_heap.c +++ b/drivers/staging/android/ion/ion_system_heap.c @@ -83,7 +83,7 @@ static void free_buffer_page(struct ion_system_heap *heap, unsigned int order = compound_order(page); bool cached = ion_buffer_cached(buffer); - if (!cached && !(buffer->private_flags & ION_PRIV_FLAG_SHRINKER_FREE)) { + if (!cached) { struct ion_page_pool *pool = heap->pools[order_to_index(order)]; if (buffer->private_flags & ION_PRIV_FLAG_SHRINKER_FREE) ion_page_pool_free_immediate(pool, page);