* Don't try to check devices that are obviously not on PCI anymore.

* Fix a warning about pci_address::segment potentially being used uninitialized.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41760 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Lotz
2011-05-26 18:05:50 +00:00
parent 7ce4456927
commit caa82f7074
@@ -462,6 +462,7 @@ ensure_all_functions_matched(pci_module_info* pci, uint8 bus,
== PCI_header_type_PCI_to_PCI_bridge) {
pci_address pciAddress;
pciAddress.segment = 0;
pciAddress.bus = bus;
pciAddress.device = device;
pciAddress.function = function;
@@ -579,6 +580,13 @@ read_irq_routing_table_recursive(acpi_module_info* acpi, pci_module_info* pci,
pciAddress.function = 0;
}
if (pciAddress.device >= kMaxPCIDeviceCount
|| pciAddress.function >= kMaxPCIFunctionCount) {
// we don't seem to be on the PCI bus anymore
// (just a different type of device)
return B_OK;
}
uint8 headerType = pci->read_pci_config(pciAddress.bus,
pciAddress.device, pciAddress.function, PCI_header_type, 1);