Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- 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 d42b359..9761b8e 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); } @@ -1206,6 +1215,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.3.1