diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 8076a80ab3a981c023d97a8f585a16e84f123abb..602fc566cce9b6ec4147628a13c96e0d46cbb77a 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -249,6 +249,9 @@ static void pci_change_irq_level(PCIDevice *pci_dev, int irq_num, int change) PCIBus *bus; for (;;) { bus = pci_get_bus(pci_dev); + if (!bus) { + return; + } irq_num = bus->map_irq(pci_dev, irq_num); if (bus->set_irq) break;