aboutsummaryrefslogtreecommitdiff
path: root/lib/memory_alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/memory_alloc.c')
-rw-r--r--lib/memory_alloc.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/memory_alloc.c b/lib/memory_alloc.c
index 475dd2ce022..2e020deab3c 100644
--- a/lib/memory_alloc.c
+++ b/lib/memory_alloc.c
@@ -237,16 +237,13 @@ unsigned long allocate_contiguous_memory_nomap(unsigned long size,
int log_align = ilog2(align);
mpool = mem_type_to_memory_pool(mem_type);
- if (!mpool)
- return -EINVAL;
-
- if (!mpool->gpool)
- return -EAGAIN;
+ if (!mpool || !mpool->gpool)
+ return 0;
aligned_size = PFN_ALIGN(size);
paddr = gen_pool_alloc_aligned(mpool->gpool, aligned_size, log_align);
if (!paddr)
- return -EAGAIN;
+ return 0;
node = kmalloc(sizeof(struct alloc), GFP_KERNEL);
if (!node)
@@ -273,7 +270,7 @@ out_kfree:
kfree(node);
out:
gen_pool_free(mpool->gpool, paddr, aligned_size);
- return -ENOMEM;
+ return 0;
}
EXPORT_SYMBOL_GPL(allocate_contiguous_memory_nomap);