Relax ensure_all_functions_matched() to assume no interrupt use when a device

has no routing information but wasn't configured by the BIOS either. The
function will now only panic if a device that was previously configured would
not be so anymore after enabling the IO-APIC. Fixes #7971.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42795 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Lotz 2011-10-02 21:25:15 +00:00
parent 39bc159e6e
commit 2a77028057

View File

@ -550,6 +550,14 @@ ensure_all_functions_matched(pci_module_info* pci, uint8 bus,
}
if (!matched) {
if (pci->read_pci_config(bus, device, function,
PCI_interrupt_line, 1) == 0) {
dprintf("assuming no interrupt use on PCI device"
" %u:%u:%u (bios irq 0, no routing information)\n",
bus, device, function);
continue;
}
panic("unable to find irq routing for PCI %u:%u:%u", bus,
device, function);
return B_ERROR;