aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorKunkun Jiang <jiangkunkun@huawei.com>2022-07-11 09:46:51 +0800
committerAlex Williamson <alex.williamson@redhat.com>2022-09-27 14:26:39 -0600
commit429c72800654503e0073906f63fdc9a641639bdc (patch)
tree3ffee48a2f9255831502d3d4950dfccedc5e858c /hw
parentdbc4f48b5ab3e6d85f78aa4df6bd6ad561c3d152 (diff)
downloadqemu-429c72800654503e0073906f63fdc9a641639bdc.zip
qemu-429c72800654503e0073906f63fdc9a641639bdc.tar.gz
qemu-429c72800654503e0073906f63fdc9a641639bdc.tar.bz2
vfio/migration: Fix incorrect initialization value for parameters in VFIOMigration
The structure VFIOMigration of a VFIODevice is allocated and initialized in vfio_migration_init(). "device_state" and "vm_running" are initialized to 0, indicating that VFIO device is_STOP and VM is not-running. The initialization value is incorrect. According to the agreement, default state of VFIO device is _RUNNING. And if a VFIO device is hot-plugged while the VM is running, "vm_running" should be 1. This patch fixes it. Fixes: 02a7e71b1e5b ("vfio: Add VM state change handler to know state of VM") Signed-off-by: Kunkun Jiang <jiangkunkun@huawei.com> Link: https://lore.kernel.org/r/20220711014651.1327-1-jiangkunkun@huawei.com Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/vfio/migration.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
index a6ad1f8..3de4252 100644
--- a/hw/vfio/migration.c
+++ b/hw/vfio/migration.c
@@ -806,6 +806,8 @@ static int vfio_migration_init(VFIODevice *vbasedev,
}
vbasedev->migration = g_new0(VFIOMigration, 1);
+ vbasedev->migration->device_state = VFIO_DEVICE_STATE_RUNNING;
+ vbasedev->migration->vm_running = runstate_is_running();
ret = vfio_region_setup(obj, vbasedev, &vbasedev->migration->region,
info->index, "migration");