Browse Source

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
pull/142/head
Andrew Thoelke 11 years ago
parent
commit
0695dc49e2
  1. 7
      drivers/arm/pl011/pl011_console.c

7
drivers/arm/pl011/pl011_console.c

@ -71,7 +71,12 @@ void console_init(unsigned long base_addr)
int console_putc(int c) 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') { if (c == '\n') {
WAIT_UNTIL_UART_FREE(uart_base); WAIT_UNTIL_UART_FREE(uart_base);

Loading…
Cancel
Save