From a090ecd880a1b211e92c41029d1a90edf6686a48 Mon Sep 17 00:00:00 2001 From: Frank Chang Date: Fri, 12 Sep 2025 00:06:44 +0800 Subject: [PATCH] hw/char: sifive_uart: Avoid pushing Tx FIFO when size is zero There's no need to call fifo8_push_all() when size is zero. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Message-ID: <20250911160647.5710-3-frank.chang@sifive.com> Signed-off-by: Alistair Francis --- hw/char/sifive_uart.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/char/sifive_uart.c b/hw/char/sifive_uart.c index 138c31fcabf..401f869680d 100644 --- a/hw/char/sifive_uart.c +++ b/hw/char/sifive_uart.c @@ -122,7 +122,9 @@ static void sifive_uart_write_tx_fifo(SiFiveUARTState *s, const uint8_t *buf, qemu_log_mask(LOG_GUEST_ERROR, "sifive_uart: TX FIFO overflow"); } - fifo8_push_all(&s->tx_fifo, buf, size); + if (size > 0) { + fifo8_push_all(&s->tx_fifo, buf, size); + } if (fifo8_is_full(&s->tx_fifo)) { s->txfifo |= SIFIVE_UART_TXFIFO_FULL; -- 2.47.3