|
@@ -95,6 +95,8 @@ void ion_page_pool_free(struct ion_page_pool *pool, struct page *page)
|
|
|
{
|
|
|
int ret;
|
|
|
|
|
|
+ BUG_ON(pool->order != compound_order(page));
|
|
|
+
|
|
|
ret = ion_page_pool_add(pool, page);
|
|
|
if (ret)
|
|
|
ion_page_pool_free_pages(pool, page);
|
|
@@ -150,7 +152,7 @@ struct ion_page_pool *ion_page_pool_create(gfp_t gfp_mask, unsigned int order)
|
|
|
pool->low_count = 0;
|
|
|
INIT_LIST_HEAD(&pool->low_items);
|
|
|
INIT_LIST_HEAD(&pool->high_items);
|
|
|
- pool->gfp_mask = gfp_mask;
|
|
|
+ pool->gfp_mask = gfp_mask | __GFP_COMP;
|
|
|
pool->order = order;
|
|
|
mutex_init(&pool->mutex);
|
|
|
plist_node_init(&pool->list, order);
|