OSDN Git Service

hw/char/cmsdk-apb-uart.c: Accept more input after character read
authorPatrick Oppenlander <patrick.oppenlander@gmail.com>
Fri, 4 May 2018 17:05:50 +0000 (18:05 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 4 May 2018 17:05:50 +0000 (18:05 +0100)
The character frontend needs to be notified that the uart receive buffer
is empty and ready to handle another character.

Previously, the uart only worked correctly when receiving one character
at a time.

Signed-off-by: Patrick Oppenlander <patrick.oppenlander@gmail.com>
Message-id: CAEg67GkRTw=cXei3o9hvpxG_L4zSrNzR0bFyAgny+sSEUb_kPw@mail.gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/char/cmsdk-apb-uart.c

index 9c0929d..ddfbb25 100644 (file)
@@ -157,6 +157,7 @@ static uint64_t uart_read(void *opaque, hwaddr offset, unsigned size)
         r = s->rxbuf;
         s->state &= ~R_STATE_RXFULL_MASK;
         cmsdk_apb_uart_update(s);
+        qemu_chr_fe_accept_input(&s->chr);
         break;
     case A_STATE:
         r = s->state;