While we are here, we also check virtio_load() return value. Signed-off-by: Greg Kurz <gk...@linux.vnet.ibm.com> --- hw/virtio/virtio-rng.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c index b6ab361..0371103 100644 --- a/hw/virtio/virtio-rng.c +++ b/hw/virtio/virtio-rng.c @@ -103,17 +103,28 @@ static void virtio_rng_save(QEMUFile *f, void *opaque) VirtIODevice *vdev = opaque; virtio_save(vdev, f); + virtio_save_subsections(vdev, f); } static int virtio_rng_load(QEMUFile *f, void *opaque, int version_id) { VirtIORNG *vrng = opaque; VirtIODevice *vdev = VIRTIO_DEVICE(vrng); + int ret; if (version_id != 1) { return -EINVAL; } - virtio_load(vdev, f); + + ret = virtio_load(vdev, f); + if (ret) { + return ret; + } + + ret = virtio_load_subsections(vdev, f); + if (ret) { + return ret; + } /* We may have an element ready but couldn't process it due to a quota * limit. Make sure to try again after live migration when the quota may