base_type_info.name is initialized to t->base_name, check that directly.
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- hw/virtio/virtio-pci.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index ad1d164421d..9512590c936 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -2476,7 +2476,7 @@ void virtio_pci_types_register(const VirtioPCIDeviceTypeInfo *t) ? g_strconcat(t->generic_name, "-base-type", NULL) : NULL; TypeInfo base_type_info = { - .name = t->base_name, + .name = t->base_name ?: base_name, .parent = t->parent ? t->parent : TYPE_VIRTIO_PCI, .instance_size = t->instance_size, .instance_init = t->instance_init, @@ -2487,7 +2487,7 @@ void virtio_pci_types_register(const VirtioPCIDeviceTypeInfo *t) }; TypeInfo generic_type_info = { .name = t->generic_name, - .parent = base_type_info.name, + .parent = t->base_name, .class_init = virtio_pci_generic_class_init, .interfaces = (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, @@ -2499,8 +2499,7 @@ void virtio_pci_types_register(const VirtioPCIDeviceTypeInfo *t) assert(t->base_name || !t->non_transitional_name); assert(t->base_name || !t->transitional_name); - if (!base_type_info.name) { - base_type_info.name = base_name; + if (!t->base_name) { base_type_info.class_init = virtio_pci_generic_class_init; generic_type_info.parent = base_name; @@ -2519,7 +2518,7 @@ void virtio_pci_types_register(const VirtioPCIDeviceTypeInfo *t) if (t->non_transitional_name) { const TypeInfo non_transitional_type_info = { .name = t->non_transitional_name, - .parent = base_type_info.name, + .parent = t->base_name ?: base_name, .instance_init = virtio_pci_non_transitional_instance_init, .interfaces = (const InterfaceInfo[]) { { INTERFACE_PCIE_DEVICE }, @@ -2533,7 +2532,7 @@ void virtio_pci_types_register(const VirtioPCIDeviceTypeInfo *t) if (t->transitional_name) { const TypeInfo transitional_type_info = { .name = t->transitional_name, - .parent = base_type_info.name, + .parent = t->base_name ?: base_name, .instance_init = virtio_pci_transitional_instance_init, .interfaces = (const InterfaceInfo[]) { /* -- 2.47.1