serial: pl011: Resend the character if FIFO is full in debug uart

pl01x_putc() might return -EAGAIN if there was no space in FIFO. In that
case, high-level caller should wait until there is space and resend the
character.

Signed-off-by: Chen Baozi <chenbaozi@phytium.com.cn>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Chen Baozi 2021-07-19 15:36:04 +08:00 committed by Tom Rini
parent 8f20c48079
commit 198201509a

View file

@ -417,7 +417,8 @@ static inline void _debug_uart_putc(int ch)
{
struct pl01x_regs *regs = (struct pl01x_regs *)CONFIG_DEBUG_UART_BASE;
pl01x_putc(regs, ch);
while (pl01x_putc(regs, ch) == -EAGAIN)
;
}
DEBUG_UART_FUNCS