ion: Handle the memory mapping correctly on x86
[firefly-linux-kernel-4.4.55.git] / drivers / staging / android / ion / ion_system_heap.c
index d4c3e5512dd54dbcf0b3f6d9a927a1e8bbb3fc5a..fa62cc433d488edcf6d6f956164c4324a49be40f 100644 (file)
@@ -85,8 +85,10 @@ static void free_buffer_page(struct ion_system_heap *heap,
 
        if (!cached && !(buffer->private_flags & ION_PRIV_FLAG_SHRINKER_FREE)) {
                struct ion_page_pool *pool = heap->pools[order_to_index(order)];
-
-               ion_page_pool_free(pool, page);
+               if (buffer->private_flags & ION_PRIV_FLAG_SHRINKER_FREE)
+                       ion_page_pool_free_immediate(pool, page);
+               else
+                       ion_page_pool_free(pool, page);
        } else {
                __free_pages(page, order);
        }