page = alloc_pages(gfp, order);
if (!page)
return NULL;
- split_page(page, order);
ret = page_address(page);
*handle = virt_to_phys(ret);
end = page + (1 << order);
while (++page < end) {
+ set_page_count(page, 1);
+
/* Free any unused pages */
if (page >= free) {
__free_page(page);