[PATCH v2] serial: pl011: Resend the character if FIFO is full in debug uart
Chen Baozi
chenbaozi at phytium.com.cn
Mon Jul 19 09:36:04 CEST 2021
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 at phytium.com.cn>
Reviewed-by: Stefan Roese <sr at denx.de>
---
drivers/serial/serial_pl01x.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/serial/serial_pl01x.c b/drivers/serial/serial_pl01x.c
index 76b96ad414..8ff19acf33 100644
--- a/drivers/serial/serial_pl01x.c
+++ b/drivers/serial/serial_pl01x.c
@@ -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
--
2.28.0
More information about the U-Boot
mailing list