On 2014/9/19 16:54, Paolo Bonzini wrote:
When a serial port is started, its initial state is all zero.  Make
it consistent with reset state instead.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
  hw/char/serial.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/hw/char/serial.c b/hw/char/serial.c
index 764e184..4523ccb 100644
--- a/hw/char/serial.c
+++ b/hw/char/serial.c
@@ -668,6 +668,7 @@ void serial_realize_core(SerialState *s, Error **errp)
                            serial_event, s);

It should just follow qemu_register_reset(serial_reset, s).

      fifo8_create(&s->recv_fifo, UART_FIFO_LENGTH);
      fifo8_create(&s->xmit_fifo, UART_FIFO_LENGTH);
+    serial_reset(s);

Or at least we should push this before this pair of fifo8_create() since

static void serial_reset(void *opaque)
{
    ...
    fifo8_reset(&s->recv_fifo);
    fifo8_reset(&s->xmit_fifo);


Thanks
Tiejun

  }

  void serial_exit_core(SerialState *s)


Reply via email to