From patchwork Tue Jul 26 13:03:54 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: virtio-serial-bus: replay guest_open on migration Date: Tue, 26 Jul 2011 03:03:54 -0000 From: Alon Levy X-Patchwork-Id: 106870 Message-Id: <1311685434-25282-1-git-send-email-alevy@redhat.com> To: qemu-devel@nongnu.org Cc: amit.shah@redhat.com, hdegoede@redhat.com, yhalperi@redhat.com, armbru@redhat.com, quintela@redhat.com Signed-off-by: Alon Levy --- 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) { /*