Eduardo Habkost <ehabk...@redhat.com> writes: > +Markus > > On Thu, Aug 19, 2021 at 07:15:46PM +0200, Philippe Mathieu-Daudé wrote: >> Do not ignore eventual error if we failed at setting the 'host' >> property of the TYPE_XHCI model. >> >> Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> >> --- >> hw/usb/hcd-xhci-pci.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/hw/usb/hcd-xhci-pci.c b/hw/usb/hcd-xhci-pci.c >> index e934b1a5b1f..71f6629ccde 100644 >> --- a/hw/usb/hcd-xhci-pci.c >> +++ b/hw/usb/hcd-xhci-pci.c >> @@ -115,7 +115,7 @@ static void usb_xhci_pci_realize(struct PCIDevice *dev, >> Error **errp) >> dev->config[PCI_CACHE_LINE_SIZE] = 0x10; >> dev->config[0x60] = 0x30; /* release number */ >> >> - object_property_set_link(OBJECT(&s->xhci), "host", OBJECT(s), NULL); >> + object_property_set_link(OBJECT(&s->xhci), "host", OBJECT(s), >> &error_fatal); > > If this fails, it's due to programmer error, isn't? Shouldn't we > use &error_abort on that case?
I think so. In functions with an Error **errp parameter, use of &error_fatal is almost always wrong. >> s->xhci.intr_update = xhci_pci_intr_update; >> s->xhci.intr_raise = xhci_pci_intr_raise; >> if (!qdev_realize(DEVICE(&s->xhci), NULL, errp)) { >> -- >> 2.31.1 >>