From: Andrew Thoelke Date: Fri, 20 Jun 2014 10:12:39 +0000 (+0100) Subject: Remove broken assertion in console_putc() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=0695dc49e2f1fcaef673ad7a50d9ec97ae3744b5;p=project%2Fbcm63xx%2Fatf.git Remove broken assertion in console_putc() The assertion in console_putc() would trigger a recursion that exhausts the stack and eventually aborts. This patch replaces the assertion with an error return if the console has not been initialized yet. Fixes ARM-software/tf-issues#208 Change-Id: I95f736ff215d69655eb5ba7ceac70dc1409d986a --- diff --git a/drivers/arm/pl011/pl011_console.c b/drivers/arm/pl011/pl011_console.c index a26c00ed..81897cab 100644 --- a/drivers/arm/pl011/pl011_console.c +++ b/drivers/arm/pl011/pl011_console.c @@ -71,7 +71,12 @@ void console_init(unsigned long base_addr) int console_putc(int c) { - assert(uart_base); + /* If the console has not been initialized then return an error + * code. Asserting here would result in recursion and stack + * exhaustion + */ + if (!uart_base) + return -1; if (c == '\n') { WAIT_UNTIL_UART_FREE(uart_base);