qemu_chr_fe_write() may return EAGAIN. Therefore, use qemu_chr_fe_write_all().
Signed-off-by: Michael Walle <mich...@walle.cc> Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> --- hw/char/lm32_juart.c | 2 +- hw/char/lm32_uart.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/char/lm32_juart.c b/hw/char/lm32_juart.c index 252fe46..380cb5d 100644 --- a/hw/char/lm32_juart.c +++ b/hw/char/lm32_juart.c @@ -75,7 +75,7 @@ void lm32_juart_set_jtx(DeviceState *d, uint32_t jtx) s->jtx = jtx; if (s->chr) { - qemu_chr_fe_write(s->chr, &ch, 1); + qemu_chr_fe_write_all(s->chr, &ch, 1); } } diff --git a/hw/char/lm32_uart.c b/hw/char/lm32_uart.c index 85d7265..84c2549 100644 --- a/hw/char/lm32_uart.c +++ b/hw/char/lm32_uart.c @@ -177,7 +177,7 @@ static void uart_write(void *opaque, hwaddr addr, switch (addr) { case R_RXTX: if (s->chr) { - qemu_chr_fe_write(s->chr, &ch, 1); + qemu_chr_fe_write_all(s->chr, &ch, 1); } break; case R_IER: -- 1.7.10.4