diff options
| author | Chen Baozi <[email protected]> | 2021-07-19 15:36:04 +0800 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2021-07-23 18:53:46 -0400 |
| commit | 198201509a460c8f1b85e3447b35599129f4f885 (patch) | |
| tree | e65ac8899e2458471f415e39c475ddb91bcab422 | |
| parent | 8f20c480799c54f2ff6ee9ef3d735c342bca8054 (diff) | |
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 <[email protected]>
Reviewed-by: Stefan Roese <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
| -rw-r--r-- | drivers/serial/serial_pl01x.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/serial/serial_pl01x.c b/drivers/serial/serial_pl01x.c index 76b96ad414c..8ff19acf335 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 |
