hw/s390x/css-bridge: Realize sysbus device before accessing it
qbus_new() should not be called on unrealized device. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20231019071611.98885-10-philmd@linaro.org>
This commit is contained in:
parent
675d717b9e
commit
840b4495ef
@ -95,7 +95,6 @@ static const TypeInfo virtual_css_bus_info = {
|
||||
|
||||
VirtualCssBus *virtual_css_bus_init(void)
|
||||
{
|
||||
VirtualCssBus *cbus;
|
||||
BusState *bus;
|
||||
DeviceState *dev;
|
||||
|
||||
@ -103,19 +102,19 @@ VirtualCssBus *virtual_css_bus_init(void)
|
||||
dev = qdev_new(TYPE_VIRTUAL_CSS_BRIDGE);
|
||||
object_property_add_child(qdev_get_machine(), TYPE_VIRTUAL_CSS_BRIDGE,
|
||||
OBJECT(dev));
|
||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||
|
||||
/* Create bus on bridge device */
|
||||
bus = qbus_new(TYPE_VIRTUAL_CSS_BUS, dev, "virtual-css");
|
||||
cbus = VIRTUAL_CSS_BUS(bus);
|
||||
|
||||
/* Enable hotplugging */
|
||||
qbus_set_hotplug_handler(bus, OBJECT(dev));
|
||||
|
||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||
|
||||
css_register_io_adapters(CSS_IO_ADAPTER_VIRTIO, true, false,
|
||||
0, &error_abort);
|
||||
|
||||
return cbus;
|
||||
return VIRTUAL_CSS_BUS(bus);
|
||||
}
|
||||
|
||||
/***************** Virtual-css Bus Bridge Device ********************/
|
||||
|
Loading…
Reference in New Issue
Block a user