mirror of https://github.com/xqemu/xqemu.git
Check return value of qdev_init()
But do so only where it may actually fail. Leave the rest for the next commit. Patchworks-ID: 35167 Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
18cfeb52d1
commit
33e66b86d8
|
@ -172,8 +172,8 @@ static PCIDevice *qemu_pci_hot_add_storage(Monitor *mon,
|
||||||
default:
|
default:
|
||||||
dev = NULL;
|
dev = NULL;
|
||||||
}
|
}
|
||||||
if (dev)
|
if (!dev || qdev_init(&dev->qdev) < 0)
|
||||||
qdev_init(&dev->qdev);
|
return NULL;
|
||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
1
hw/pci.c
1
hw/pci.c
|
@ -833,6 +833,7 @@ static const char * const pci_nic_names[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Initialize a PCI NIC. */
|
/* Initialize a PCI NIC. */
|
||||||
|
/* FIXME callers should check for failure, but don't */
|
||||||
PCIDevice *pci_nic_init(NICInfo *nd, const char *default_model,
|
PCIDevice *pci_nic_init(NICInfo *nd, const char *default_model,
|
||||||
const char *default_devaddr)
|
const char *default_devaddr)
|
||||||
{
|
{
|
||||||
|
|
|
@ -82,6 +82,7 @@ void scsi_qdev_register(SCSIDeviceInfo *info)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* handle legacy '-drive if=scsi,...' cmd line args */
|
/* handle legacy '-drive if=scsi,...' cmd line args */
|
||||||
|
/* FIXME callers should check for failure, but don't */
|
||||||
SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, DriveInfo *dinfo, int unit)
|
SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, DriveInfo *dinfo, int unit)
|
||||||
{
|
{
|
||||||
const char *driver;
|
const char *driver;
|
||||||
|
@ -91,7 +92,8 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, DriveInfo *dinfo, int unit)
|
||||||
dev = qdev_create(&bus->qbus, driver);
|
dev = qdev_create(&bus->qbus, driver);
|
||||||
qdev_prop_set_uint32(dev, "scsi-id", unit);
|
qdev_prop_set_uint32(dev, "scsi-id", unit);
|
||||||
qdev_prop_set_drive(dev, "drive", dinfo);
|
qdev_prop_set_drive(dev, "drive", dinfo);
|
||||||
qdev_init(dev);
|
if (qdev_init(dev) < 0)
|
||||||
|
return NULL;
|
||||||
return DO_UPCAST(SCSIDevice, qdev, dev);
|
return DO_UPCAST(SCSIDevice, qdev, dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -571,7 +571,8 @@ USBDevice *usb_msd_init(const char *filename)
|
||||||
/* create guest device */
|
/* create guest device */
|
||||||
dev = usb_create(NULL /* FIXME */, "QEMU USB MSD");
|
dev = usb_create(NULL /* FIXME */, "QEMU USB MSD");
|
||||||
qdev_prop_set_drive(&dev->qdev, "drive", dinfo);
|
qdev_prop_set_drive(&dev->qdev, "drive", dinfo);
|
||||||
qdev_init(&dev->qdev);
|
if (qdev_init(&dev->qdev) < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
|
|
|
@ -980,12 +980,14 @@ static USBDevice *usb_host_device_open_addr(int bus_num, int addr, const char *p
|
||||||
|
|
||||||
hostdev_link(dev);
|
hostdev_link(dev);
|
||||||
|
|
||||||
qdev_init(&d->qdev);
|
if (qdev_init(&d->qdev) < 0)
|
||||||
|
goto fail_no_qdev;
|
||||||
return (USBDevice *) dev;
|
return (USBDevice *) dev;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
if (d)
|
if (d)
|
||||||
qdev_free(&d->qdev);
|
qdev_free(&d->qdev);
|
||||||
|
fail_no_qdev:
|
||||||
if (fd != -1)
|
if (fd != -1)
|
||||||
close(fd);
|
close(fd);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -1389,7 +1391,7 @@ static int usb_host_auto_scan(void *opaque, int bus_num, int addr,
|
||||||
|
|
||||||
/* We got a match */
|
/* We got a match */
|
||||||
|
|
||||||
/* Allredy attached ? */
|
/* Already attached ? */
|
||||||
if (hostdev_find(bus_num, addr))
|
if (hostdev_find(bus_num, addr))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue