mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 10:13:56 -06:00
qdev: Drop qbus_set_hotplug_handler() parameter @errp
qbus_set_hotplug_handler() is a simple wrapper around object_property_set_link(). object_property_set_link() fails when the property doesn't exist, is not settable, or its .check() method fails. These are all programming errors here, so passing &error_abort to qbus_set_hotplug_handler() is appropriate. Most of its callers do. Exceptions: * pcie_cap_slot_init(), shpc_init(), spapr_phb_realize() pass NULL, i.e. they ignore errors. * spapr_machine_init() passes &error_fatal. * s390_pcihost_realize(), virtio_serial_device_realize(), s390_pcihost_plug() pass the error to their callers. The latter two keep going after the error, which looks wrong. Drop the @errp parameter, and instead pass &error_abort to object_property_set_link(). Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: "Daniel P. Berrangé" <berrange@redhat.com> Cc: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20200630090351.1247703-15-armbru@redhat.com>
This commit is contained in:
parent
cd7c866074
commit
9bc6bfdf67
15 changed files with 22 additions and 33 deletions
|
@ -934,7 +934,7 @@ static void virtio_scsi_device_realize(DeviceState *dev, Error **errp)
|
|||
scsi_bus_new(&s->bus, sizeof(s->bus), dev,
|
||||
&virtio_scsi_scsi_info, vdev->bus_name);
|
||||
/* override default SCSI bus hotplug-handler, with virtio-scsi's one */
|
||||
qbus_set_hotplug_handler(BUS(&s->bus), OBJECT(dev), &error_abort);
|
||||
qbus_set_hotplug_handler(BUS(&s->bus), OBJECT(dev));
|
||||
|
||||
virtio_scsi_dataplane_setup(s, errp);
|
||||
}
|
||||
|
@ -958,7 +958,7 @@ static void virtio_scsi_device_unrealize(DeviceState *dev)
|
|||
{
|
||||
VirtIOSCSI *s = VIRTIO_SCSI(dev);
|
||||
|
||||
qbus_set_hotplug_handler(BUS(&s->bus), NULL, &error_abort);
|
||||
qbus_set_hotplug_handler(BUS(&s->bus), NULL);
|
||||
virtio_scsi_common_unrealize(dev);
|
||||
}
|
||||
|
||||
|
|
|
@ -1147,7 +1147,7 @@ pvscsi_realizefn(PCIDevice *pci_dev, Error **errp)
|
|||
scsi_bus_new(&s->bus, sizeof(s->bus), DEVICE(pci_dev),
|
||||
&pvscsi_scsi_info, NULL);
|
||||
/* override default SCSI bus hotplug-handler, with pvscsi's one */
|
||||
qbus_set_hotplug_handler(BUS(&s->bus), OBJECT(s), &error_abort);
|
||||
qbus_set_hotplug_handler(BUS(&s->bus), OBJECT(s));
|
||||
pvscsi_reset_state(s);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue