提交 85a1c77f 编写于 作者: M Michael Ellerman 提交者: Rob Herring

of: Print rather than WARN'ing when overlap check fails

__rmem_check_for_overlap() is called very early in boot, and on some
powerpc systems it's not safe to call WARN that early in boot.

If the overlap check fails the system will oops instead of printing a
warning. Furthermore because it's so early in boot the console is not up
and the user doesn't see the oops, they just get a dead system.

Fix it by printing an error instead of calling WARN.

Fixes: ae1add24 ("of: Check for overlap in reserved memory regions")
Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
Signed-off-by: NRob Herring <robh@kernel.org>
上级 87ab5205
...@@ -226,10 +226,9 @@ static void __init __rmem_check_for_overlap(void) ...@@ -226,10 +226,9 @@ static void __init __rmem_check_for_overlap(void)
this_end = this->base + this->size; this_end = this->base + this->size;
next_end = next->base + next->size; next_end = next->base + next->size;
WARN(1, pr_err("Reserved memory: OVERLAP DETECTED!\n%s (%pa--%pa) overlaps with %s (%pa--%pa)\n",
"Reserved memory: OVERLAP DETECTED!\n%s (%pa--%pa) overlaps with %s (%pa--%pa)\n", this->name, &this->base, &this_end,
this->name, &this->base, &this_end, next->name, &next->base, &next_end);
next->name, &next->base, &next_end);
} }
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册