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?

Reply via email to