qemu/hw/pci-host
Laurent Vivier d28fca153b versatile: remove cannot_destroy_with_object_finalize_yet
cannot_destroy_with_object_finalize_yet was added by 4c315c2
("qdev: Protect device-list-properties against broken devices")
because "realview_pci" and "versatile_pci" were hanging
during "device-list-properties" cleanup (an infinite loop in
bus_unparent()).

We have this problem because the child is not removed from
the list of the PCI bus children because it has no defined parent:
qdev_set_parent_bus() set the device parent_bus pointer to bus, and
adds the device in the bus children list, but doesn't update the
device parent pointer.

To fix the problem, move all the involved parts to the realize function.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20170414083717.13641-4-lvivier@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Peter Maydell <peter.maydell@linaro.org>
[Commit message tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2017-04-21 07:18:34 +02:00
..
Makefile.objs hw: xilinx-pcie: Add support for Xilinx AXI PCIe Controller 2017-02-21 23:49:29 +00:00
apb.c apb: convert init to realize 2016-07-29 00:07:09 +03:00
bonito.c pci: Clean up includes 2016-01-29 15:07:24 +00:00
gpex.c pci: Clean up includes 2016-01-29 15:07:24 +00:00
grackle.c hw/grackle: fix PCI bus initialization 2016-07-20 19:30:26 +03:00
pam.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
piix.c range: Eliminate direct Range member access 2016-07-04 16:49:33 +03:00
ppce500.c pci: Clean up includes 2016-01-29 15:07:24 +00:00
prep.c hw/pci-host/prep: Do not use hw_error() in realize function 2017-02-22 11:28:28 +11:00
q35.c range: Eliminate direct Range member access 2016-07-04 16:49:33 +03:00
uninorth.c ppc: Make uninorth interrupt swizzling identical to Grackle 2016-11-23 12:00:48 +11:00
versatile.c versatile: remove cannot_destroy_with_object_finalize_yet 2017-04-21 07:18:34 +02:00
xilinx-pcie.c hw: xilinx-pcie: Add support for Xilinx AXI PCIe Controller 2017-02-21 23:49:29 +00:00