diff --git a/drivers/arm/pl011/pl011_console.c b/drivers/arm/pl011/pl011_console.c index a26c00eda3c2f4f76ccab87462b01c878465bc65..81897cabed7ccf55d979f500d5c83fb56044e6fe 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);