Alon Levy <al...@redhat.com> writes: > Signed-off-by: Alon Levy <al...@redhat.com> > --- > hw/virtio-serial-bus.c | 8 +++++++- > 1 files changed, 7 insertions(+), 1 deletions(-) > > diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c > index c5eb931..7a652ff 100644 > --- a/hw/virtio-serial-bus.c > +++ b/hw/virtio-serial-bus.c > @@ -618,14 +618,20 @@ static int virtio_serial_load(QEMUFile *f, void > *opaque, int version_id) > for (i = 0; i < nr_active_ports; i++) { > uint32_t id; > bool host_connected; > + VirtIOSerialPortInfo *info; > > id = qemu_get_be32(f); > port = find_port_by_id(s, id); > if (!port) { > return -EINVAL; > } > - > port->guest_connected = qemu_get_byte(f); > + info = DO_UPCAST(VirtIOSerialPortInfo, qdev, port->dev.info); > + if (port->guest_connected && info->guest_open) { > + /* replay guest open */ > + info->guest_open(port); > + > + } > host_connected = qemu_get_byte(f); > if (host_connected != port->host_connected) { > /*
The patch makes enough sense to me, but the commit message is insufficient. Why do you have to replay? And what's being fixed?