Revert "bus: do not unref the added child bus on realize"
This is wrong. object_finalize_child_property()'s unref balances the
ref in object_property_add_child(). qbus_realize's unref balances the
ref that was initially placed by object_new/object_initialize.
This reverts commit f3d58385a6
.
Reported-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20180613172815.32738-4-marcandre.lureau@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
9b5c2fd53f
commit
0d1e8d6f4a
|
@ -102,6 +102,7 @@ static void qbus_realize(BusState *bus, DeviceState *parent, const char *name)
|
||||||
QLIST_INSERT_HEAD(&bus->parent->child_bus, bus, sibling);
|
QLIST_INSERT_HEAD(&bus->parent->child_bus, bus, sibling);
|
||||||
bus->parent->num_child_bus++;
|
bus->parent->num_child_bus++;
|
||||||
object_property_add_child(OBJECT(bus->parent), bus->name, OBJECT(bus), NULL);
|
object_property_add_child(OBJECT(bus->parent), bus->name, OBJECT(bus), NULL);
|
||||||
|
object_unref(OBJECT(bus));
|
||||||
} else if (bus != sysbus_get_default()) {
|
} else if (bus != sysbus_get_default()) {
|
||||||
/* TODO: once all bus devices are qdevified,
|
/* TODO: once all bus devices are qdevified,
|
||||||
only reset handler for main_system_bus should be registered here. */
|
only reset handler for main_system_bus should be registered here. */
|
||||||
|
|
Loading…
Reference in a new issue