diff mbox

[U-Boot,63/72] serial: Use puts() and hang() instead of panic() in SPL

Message ID 1348955586-7109-64-git-send-email-marex@denx.de
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Marek Vasut Sept. 29, 2012, 9:52 p.m. UTC
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 <marex@denx.de>
Cc: Marek Vasut <marek.vasut@gmail.com>
Cc: Tom Rini <trini@ti.com>
---
 common/serial.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/common/serial.c b/common/serial.c
index 631af65..91c7269 100644
--- a/common/serial.c
+++ b/common/serial.c
@@ -220,8 +220,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;