From 50b78b66d3e8c08ff86b0b82bbfa35537d3de053 Mon Sep 17 00:00:00 2001 From: Juhana Helovuo Date: Mon, 13 Sep 2010 14:43:02 +0000 Subject: Print an error and correct pci scan limits. Skip sb700 ISA DMA init if needed. Signed-off-by: Juhana Helovuo Acked-by: Myles Watson git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5805 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/devices/pci_device.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/devices') diff --git a/src/devices/pci_device.c b/src/devices/pci_device.c index 4a9fa1466e..16e8d3f203 100644 --- a/src/devices/pci_device.c +++ b/src/devices/pci_device.c @@ -1019,6 +1019,14 @@ unsigned int pci_scan_bus(struct bus *bus, printk(BIOS_DEBUG, "PCI: pci_scan_bus for bus %02x\n", bus->secondary); #endif + // Maximum sane devfn is 0xFF + if (max_devfn > 0xff) { + printk(BIOS_ERR, "PCI: pci_scan_bus limits devfn %x - devfn %x\n", + min_devfn, max_devfn ); + printk(BIOS_ERR, "PCI: pci_scan_bus upper limit too big. Using 0xff.\n"); + max_devfn=0xff; + } + old_devices = bus->children; bus->children = NULL; -- cgit v1.2.3