You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2024/09/12 09:15:47 UTC

(nuttx) branch master updated: serial/uart_pl011: default syslog needs to check flow control in up_putc

This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new c19bdf204c serial/uart_pl011: default syslog needs to check flow control in up_putc
c19bdf204c is described below

commit c19bdf204c187914b48db14ad0d223425324cab0
Author: chao an <an...@lixiang.com>
AuthorDate: Thu Sep 12 13:21:41 2024 +0800

    serial/uart_pl011: default syslog needs to check flow control in up_putc
    
    default syslog needs to check flow control in up_putc(), otherwise
    up_puts() will lose character if the hardware fifo is full.
---
 drivers/serial/uart_pl011.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/serial/uart_pl011.c b/drivers/serial/uart_pl011.c
index 64e4258907..3325568e93 100644
--- a/drivers/serial/uart_pl011.c
+++ b/drivers/serial/uart_pl011.c
@@ -661,6 +661,8 @@ static void pl011_send(FAR struct uart_dev_s *dev, int ch)
   FAR struct pl011_uart_port_s  *sport  = dev->priv;
   FAR const struct pl011_config *config = &sport->config;
 
+  while (!pl011_irq_tx_ready(sport));
+
   config->uart->dr = ch;
 }