diff options
-rw-r--r-- | hw/openpic.c | 2 | ||||
-rw-r--r-- | hw/pci.c | 6 |
2 files changed, 3 insertions, 5 deletions
diff --git a/hw/openpic.c b/hw/openpic.c index 68af9c1..42db59d 100644 --- a/hw/openpic.c +++ b/hw/openpic.c @@ -1202,8 +1202,6 @@ qemu_irq *openpic_init (PCIBus *bus, int *pmem_index, int nb_cpus, if (bus) { opp = (openpic_t *)pci_register_device(bus, "OpenPIC", sizeof(openpic_t), -1, NULL, NULL); - if (opp == NULL) - return NULL; pci_conf = opp->pci_dev.config; pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_IBM); pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_IBM_OPENPIC2); @@ -499,10 +499,11 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev, PCIBus *bus, if (!bus->devices[devfn]) goto found; } - return NULL; + hw_error("PCI: no devfn available for %s, all in use\n", name); found: ; } else if (bus->devices[devfn]) { - return NULL; + hw_error("PCI: devfn %d not available for %s, in use by %s\n", devfn, + name, bus->devices[devfn]->name); } pci_dev->bus = bus; pci_dev->devfn = devfn; @@ -1273,7 +1274,6 @@ static int pci_qdev_init(DeviceState *qdev, DeviceInfo *base) pci_dev = do_pci_register_device(pci_dev, bus, base->name, devfn, info->config_read, info->config_write, info->header_type); - assert(pci_dev); rc = info->init(pci_dev); if (rc != 0) return rc; |