Skip to content

Commit

Permalink
of: Print rather than WARN'ing when overlap check fails
Browse files Browse the repository at this point in the history
__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: ae1add2 ("of: Check for overlap in reserved memory regions")
Signed-off-by: Michael Ellerman <[email protected]>
Signed-off-by: Rob Herring <[email protected]>
  • Loading branch information
mpe authored and robherring committed Nov 10, 2015
1 parent 87ab520 commit 85a1c77
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions drivers/of/of_reserved_mem.c
Original file line number Diff line number Diff line change
Expand Up @@ -226,10 +226,9 @@ static void __init __rmem_check_for_overlap(void)

this_end = this->base + this->size;
next_end = next->base + next->size;
WARN(1,
"Reserved memory: OVERLAP DETECTED!\n%s (%pa--%pa) overlaps with %s (%pa--%pa)\n",
this->name, &this->base, &this_end,
next->name, &next->base, &next_end);
pr_err("Reserved memory: OVERLAP DETECTED!\n%s (%pa--%pa) overlaps with %s (%pa--%pa)\n",
this->name, &this->base, &this_end,
next->name, &next->base, &next_end);
}
}
}
Expand Down

0 comments on commit 85a1c77

Please sign in to comment.