On 9/5/2022 5:58 PM, Johannes Schneider wrote:
only waiting for TXEMPTY leads to corrupted messages going over the
wire - which is fixed by making use of the FIFO

Could you please explain a bit more, why waiting TXEMPTY could lead
to corrupted message?

Thanks,
Peng.


Signed-off-by: Johannes Schneider <[email protected]>
---

(no changes since v1)

  drivers/serial/serial_mxc.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/serial/serial_mxc.c b/drivers/serial/serial_mxc.c
index 5f283cc635..1e0add7281 100644
--- a/drivers/serial/serial_mxc.c
+++ b/drivers/serial/serial_mxc.c
@@ -309,7 +309,7 @@ static int mxc_serial_putc(struct udevice *dev, const char 
ch)
        struct mxc_serial_plat *plat = dev_get_plat(dev);
        struct mxc_uart *const uart = plat->reg;
- if (!(readl(&uart->ts) & UTS_TXEMPTY))
+       if (readl(&uart->ts) & UTS_TXFULL)
                return -EAGAIN;
writel(ch, &uart->txd);

Reply via email to