From f2980ece06363e584541829bf40d46ad9760d535 Mon Sep 17 00:00:00 2001
From: Simon Glass <sjg@chromium.org>
Date: Sat, 18 May 2019 11:59:44 -0600
Subject: [PATCH] sandbox: Quit when hang() is called

It doesn't make a lot of sense to hang on sandbox when hang() is called,
since the only way out is Ctrl-C. In fact, Ctrl-C does not work if the
terminal is in raw mode, which it will be if the command-line has not been
reached yet. In that case, Ctrl-Z / kill -9 must be used, which is not
very friendly.

Avoid all of this by quiting when hang() is called.

Signed-off-by: Simon Glass <sjg@chromium.org>
---
 lib/hang.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/hang.c b/lib/hang.c
index c5a78694be..4d026a3e64 100644
--- a/lib/hang.c
+++ b/lib/hang.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <bootstage.h>
+#include <os.h>
 
 /**
  * hang - stop processing by staying in an endless loop
@@ -26,6 +27,8 @@ void hang(void)
 	puts("### ERROR ### Please RESET the board ###\n");
 #endif
 	bootstage_error(BOOTSTAGE_ID_NEED_RESET);
+	if (IS_ENABLED(CONFIG_SANDBOX))
+		os_exit(1);
 	for (;;)
 		;
 }
-- 
2.39.5