MIPS: CMA: Do not reserve memory if not required
authorZubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Tue, 28 Oct 2014 11:28:34 +0000 (11:28 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 29 Oct 2014 01:59:25 +0000 (02:59 +0100)
commit30fa0530ff87f6379e046629adfa3f4872a2d353
treef9a397597f80ba6cb0cea8fe79830d42a2056f00
parent5df4c8dbbc03f4d7e6b6620dcc6869fa989406ee
MIPS: CMA: Do not reserve memory if not required

Even if CMA is disabled, the for_each_memblock macro expands
to run reserve_bootmem once. Hence, reserve_bootmem attempts to
reserve location 0 of size 0.

Add a check to avoid that.

Issue was highlighted during testing with EVA enabled.
resrve_bootmem used to exit gracefully when passed arguments to
reserve 0 size location at 0 without EVA.

But with EVA enabled, macros would point to different addresses
and the code would trigger a BUG.

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Tested-by: Markos Chandras <markos.chandras@imgtec.com>
Tested-by: Huacai Chen <chenhc@lemote.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8231/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/setup.c