From f1f1e9cb7337e9ee6a7d6aeb1f76eb67f4dd126c Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Sat, 15 Sep 2012 10:33:51 +0200 Subject: serial: Use puts() and hang() instead of panic() in SPL If case the get_current() call fails before relocation, the U-Boot must try to print an error message, fail and either reset or halt. Such error is critical enough to halt the system, as it means the system is in very bad state. This is now also used in SPL, since CONFIG_SERIAL_MULTI is enabled unconditionally. To avoid compiling whole vsprintf.c into SPL, use puts() to print error message and hang() to stop the system in case of SPL build. Signed-off-by: Marek Vasut Cc: Marek Vasut Cc: Tom Rini --- common/serial.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'common/serial.c') diff --git a/common/serial.c b/common/serial.c index fc38e6c2b4..acb74af963 100644 --- a/common/serial.c +++ b/common/serial.c @@ -222,8 +222,14 @@ static struct serial_device *get_current(void) dev = default_serial_console(); /* We must have a console device */ - if (!dev) - panic("Cannot find console"); + if (!dev) { +#ifdef CONFIG_SPL_BUILD + puts("Cannot find console\n"); + hang(); +#else + panic("Cannot find console\n"); +#endif + } } else dev = serial_current; return dev; -- cgit