[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 23/39] vmxnet3: split exit and instance_finalize
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 23/39] vmxnet3: split exit and instance_finalize |
Date: |
Tue, 4 Jun 2013 20:52:18 +0200 |
Signed-off-by: Paolo Bonzini <address@hidden>
---
hw/net/vmxnet3.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index 9de2586..5b1b9e0 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -1979,7 +1979,6 @@ vmxnet3_init_msix(VMXNET3State *s)
if (!vmxnet3_use_msix_vectors(s, VMXNET3_MAX_INTRS)) {
VMW_WRPRN("Failed to use MSI-X vectors, error %d", res);
msix_uninit(d, &s->msix_bar, &s->msix_bar);
- msix_free(d);
s->msix_used = false;
} else {
s->msix_used = true;
@@ -2124,11 +2123,18 @@ static void vmxnet3_pci_uninit(PCIDevice *pci_dev)
unregister_savevm(dev, "vmxnet3-msix", s);
- vmxnet3_net_uninit(s);
-
vmxnet3_cleanup_msix(s);
vmxnet3_cleanup_msi(s);
+}
+
+static void vmxnet3_pci_instance_finalize(Object *obj)
+{
+ PCIDevice *pci_dev = PCI_DEVICE(obj);
+ VMXNET3State *s = VMXNET3(pci_dev);
+
+ vmxnet3_net_uninit(s);
+ msix_free(pci_dev);
memory_region_destroy(&s->bar0);
memory_region_destroy(&s->bar1);
@@ -2463,6 +2469,7 @@ static const TypeInfo vmxnet3_info = {
.parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(VMXNET3State),
.class_init = vmxnet3_class_init,
+ .instance_finalize = vmxnet3_pci_instance_finalize,
};
static void vmxnet3_register_types(void)
--
1.8.1.4
- [Qemu-devel] [PATCH 13/39] ide/piix: use instance_finalize instead of exit, (continued)
- [Qemu-devel] [PATCH 13/39] ide/piix: use instance_finalize instead of exit, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 14/39] ide/via: use instance_finalize instead of exit, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 15/39] ivshmem: split exit and instance_finalize, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 16/39] pci-testdev: use instance_finalize instead of exit, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 17/39] vfio: split exit and instance_finalize, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 18/39] e1000: use instance_finalize instead of exit, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 19/39] eepro100: use instance_finalize instead of exit, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 20/39] ne2000: use instance_finalize instead of exit, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 21/39] pcnet: use instance_finalize instead of exit, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 22/39] rtl8139: use instance_finalize instead of exit, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 23/39] vmxnet3: split exit and instance_finalize,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 24/39] shpc: split shpc_free out of shpc_cleanup, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 25/39] pci_bridge: split pci_bridge_free from pci_bridge_exitfn, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 26/39] pcie_aer: pcie_aer_exit really frees stuff, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 27/39] pci_bridge: split exit and instance_finalize, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 28/39] ioh4320: split exit and instance_finalize, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 29/39] xio3130-downstream: split exit and instance_finalize, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 30/39] xio3130-upstream: split exit and instance_finalize, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 31/39] pcie: do not recreate mmcfg I/O region, use an alias instead, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 32/39] esp: use instance_finalize instead of exit, Paolo Bonzini, 2013/06/04
- [Qemu-devel] [PATCH 33/39] lsi: use instance_finalize instead of exit, Paolo Bonzini, 2013/06/04