Signed-off-by: Paolo Bonzini <[email protected]>
---
hw/scsi/vmw_pvscsi.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
index eb2270f..5e97555 100644
--- a/hw/scsi/vmw_pvscsi.c
+++ b/hw/scsi/vmw_pvscsi.c
@@ -1100,9 +1100,18 @@ pvscsi_uninit(PCIDevice *pci_dev)
PVSCSIState *s = PVSCSI(pci_dev);
trace_pvscsi_state("uninit");
- qemu_bh_delete(s->completion_worker);
pvscsi_cleanup_msi(s);
+}
+
+static void
+pvscsi_instance_finalize(Object *obj)
+{
+ PVSCSIState *s = PVSCSI(obj);
+
+ trace_pvscsi_state("finalize");
+
+ qemu_bh_delete(s->completion_worker);
memory_region_destroy(&s->io_space);
}
@@ -1205,6 +1214,7 @@ static const TypeInfo pvscsi_info = {
.parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(PVSCSIState),
.class_init = pvscsi_class_init,
+ .instance_finalize = pvscsi_instance_finalize,
};
static void
--
1.8.1.4