We can't do anything useful in the error function, so we just hang. This has the advantage that at least when a JTAG debugger is connected we can see what happens. Otherwise the code just jumps to NULL in case of an error. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- arch/arm/cpu/start-pbl.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/arm/cpu/start-pbl.c b/arch/arm/cpu/start-pbl.c index 932a3da..2cd33ce 100644 --- a/arch/arm/cpu/start-pbl.c +++ b/arch/arm/cpu/start-pbl.c @@ -113,6 +113,11 @@ static void mmu_disable(void) __mmu_cache_off(); } +void noinline errorfn(char *error) +{ + while (1); +} + static void barebox_uncompress(void *compressed_start, unsigned int len) { void (*barebox)(void); @@ -135,7 +140,7 @@ static void barebox_uncompress(void *compressed_start, unsigned int len) decompress((void *)compressed_start, len, NULL, NULL, - (void *)TEXT_BASE, NULL, NULL); + (void *)TEXT_BASE, NULL, errorfn); if (use_mmu) mmu_disable(); -- 1.7.10.4 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox