Rename it, and move its call towards the end to prepare for unrealize/instance_finalize split.
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- hw/pci-bridge/ioh3420.c | 2 +- hw/pci-bridge/xio3130_downstream.c | 2 +- hw/pci-bridge/xio3130_upstream.c | 2 +- hw/pci/pcie_aer.c | 3 ++- include/hw/pci/pcie_aer.h | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/hw/pci-bridge/ioh3420.c b/hw/pci-bridge/ioh3420.c index 74ab7c8..0a3cbb7 100644 --- a/hw/pci-bridge/ioh3420.c +++ b/hw/pci-bridge/ioh3420.c @@ -153,11 +153,11 @@ static void ioh3420_exitfn(PCIDevice *d) PCIEPort *p = DO_UPCAST(PCIEPort, br, br); PCIESlot *s = DO_UPCAST(PCIESlot, port, p); - pcie_aer_exit(d); pcie_chassis_del_slot(s); pcie_cap_exit(d); msi_uninit(d); pci_bridge_exitfn(d); + pcie_aer_free(d); pci_bridge_free(d); } diff --git a/hw/pci-bridge/xio3130_downstream.c b/hw/pci-bridge/xio3130_downstream.c index 57af725..6ff336f 100644 --- a/hw/pci-bridge/xio3130_downstream.c +++ b/hw/pci-bridge/xio3130_downstream.c @@ -118,11 +118,11 @@ static void xio3130_downstream_exitfn(PCIDevice *d) PCIEPort *p = DO_UPCAST(PCIEPort, br, br); PCIESlot *s = DO_UPCAST(PCIESlot, port, p); - pcie_aer_exit(d); pcie_chassis_del_slot(s); pcie_cap_exit(d); msi_uninit(d); pci_bridge_exitfn(d); + pcie_aer_free(d); pci_bridge_free(d); } diff --git a/hw/pci-bridge/xio3130_upstream.c b/hw/pci-bridge/xio3130_upstream.c index 58c3d29..9485f5e 100644 --- a/hw/pci-bridge/xio3130_upstream.c +++ b/hw/pci-bridge/xio3130_upstream.c @@ -101,10 +101,10 @@ err_bridge: static void xio3130_upstream_exitfn(PCIDevice *d) { - pcie_aer_exit(d); pcie_cap_exit(d); msi_uninit(d); pci_bridge_exitfn(d); + pcie_aer_free(d); pci_bridge_free(d); } diff --git a/hw/pci/pcie_aer.c b/hw/pci/pcie_aer.c index 1ce72ce..7db4e8e 100644 --- a/hw/pci/pcie_aer.c +++ b/hw/pci/pcie_aer.c @@ -163,9 +163,10 @@ int pcie_aer_init(PCIDevice *dev, uint16_t offset) return 0; } -void pcie_aer_exit(PCIDevice *dev) +void pcie_aer_free(PCIDevice *dev) { g_free(dev->exp.aer_log.log); + dev->exp.aer_log.log = NULL; } static void pcie_aer_update_uncor_status(PCIDevice *dev) diff --git a/include/hw/pci/pcie_aer.h b/include/hw/pci/pcie_aer.h index bcac80a..af1dec3 100644 --- a/include/hw/pci/pcie_aer.h +++ b/include/hw/pci/pcie_aer.h @@ -88,7 +88,7 @@ struct PCIEAERErr { extern const VMStateDescription vmstate_pcie_aer_log; int pcie_aer_init(PCIDevice *dev, uint16_t offset); -void pcie_aer_exit(PCIDevice *dev); +void pcie_aer_free(PCIDevice *dev); void pcie_aer_write_config(PCIDevice *dev, uint32_t addr, uint32_t val, int len); -- 1.8.1.4