s390/virtio-ccw: Fix migration
authorChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 7 Jul 2015 11:47:23 +0000 (13:47 +0200)
committerCornelia Huck <cornelia.huck@de.ibm.com>
Tue, 14 Jul 2015 17:10:03 +0000 (19:10 +0200)
commit 213941d73b ("virtio-ccw: migrate ->revision") broke
migration:
2015-07-07T11:22:55.570968Z qemu-system-s390x: VQ 39 address 0x0 inconsistent with Host index 0x100
2015-07-07T11:22:55.571008Z qemu-system-s390x: error while loading state for instance 0x0 of

If thinint support is active, the config_load function returns early.
Make sure to load the revision all the time.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Fixes: 213941d73b ("virtio-ccw: migrate ->revision")
Message-Id: <1436269643-66303-1-git-send-email-borntraeger@de.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
hw/s390x/virtio-ccw.c

index e345a6e9b8b085c3b9b8243e24a2b9fc6532bc23..d36373e88a109204d7a7390d3396ffb2638142ec 100644 (file)
@@ -1508,12 +1508,12 @@ static int virtio_ccw_load_config(DeviceState *d, QEMUFile *f)
     qemu_get_be16s(f, &vdev->config_vector);
     dev->routes.adapter.ind_offset = qemu_get_be64(f);
     dev->thinint_isc = qemu_get_byte(f);
+    dev->revision = qemu_get_be32(f);
     if (s->thinint_active) {
         return css_register_io_adapter(CSS_IO_ADAPTER_VIRTIO,
                                        dev->thinint_isc, true, false,
                                        &dev->routes.adapter.adapter_id);
     }
-    dev->revision = qemu_get_be32(f);
 
     return 0;
 }