X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=mm%2Fcma.c;fp=mm%2Fcma.c;h=62a5dccc3fb827fe711e544d02d5d0f9b9e75b43;hb=800a85d3d286604b8c539ca7ee90b992316fd2a7;hp=5aa1a6f74decadbb285ce4d12a74d7465259c369;hpb=f022d8cb7ec70fe8edd56383d876001317ee76b1;p=firefly-linux-kernel-4.4.55.git diff --git a/mm/cma.c b/mm/cma.c index 5aa1a6f74dec..62a5dccc3fb8 100644 --- a/mm/cma.c +++ b/mm/cma.c @@ -245,6 +245,9 @@ int __init cma_declare_contiguous(phys_addr_t base, size = ALIGN(size, alignment); limit &= ~(alignment - 1); + if (!base) + fixed = false; + /* size should be aligned with order_per_bit */ if (!IS_ALIGNED(size >> PAGE_SHIFT, 1 << order_per_bit)) return -EINVAL; @@ -268,7 +271,7 @@ int __init cma_declare_contiguous(phys_addr_t base, } /* Reserve memory */ - if (base && fixed) { + if (fixed) { if (memblock_is_region_reserved(base, size) || memblock_reserve(base, size) < 0) { ret = -EBUSY;