Rename it to pcie_aer_free, and move it together with other freeing functions.
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 16f0cf8..cadf103 100644 --- a/hw/pci-bridge/ioh3420.c +++ b/hw/pci-bridge/ioh3420.c @@ -150,11 +150,11 @@ static void ioh3420_exitfn(PCIDevice *d) { PCIESlot *s = PCIE_SLOT(d); - 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 a0ac179..75522c6 100644 --- a/hw/pci-bridge/xio3130_downstream.c +++ b/hw/pci-bridge/xio3130_downstream.c @@ -115,11 +115,11 @@ static void xio3130_downstream_exitfn(PCIDevice *d) { PCIESlot *s = PCIE_SLOT(d); - 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 682a7e5..5cfdbc7 100644 --- a/hw/pci-bridge/xio3130_upstream.c +++ b/hw/pci-bridge/xio3130_upstream.c @@ -100,10 +100,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 ca762ab..509f77e 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.3.1