
Hi Peter,
When using 'logbuff' as stdout and the console loglevel is greater than a message's loglevel it is supposed to be both logged, and printed to the console. The logbuff_printk() function is responsible for both logging and displaying the message. However, logbuff_printk() previously used printf() to print the message to the console. The printf() call would eventually end up back in logbuff_printk(), and an infinite loop would occur which would hang a board.
Using serial_puts() instead of printf() in logbuff_printk() avoids the recursion and resolves the issue.
Signed-off-by: Peter Tyser ptyser@xes-inc.com Reported-by: Dennis Ruffer daruffer@gmail.com
Hm. What if a board has "stdout" set to "lcd" or "nc" or any other device? Do we really want the text to be output on the serial console then? Doesn't this break the whole "stdout" concept?
Cheers Detlev