Print an error and correct pci scan limits.  Skip sb700 ISA DMA init if needed.

Signed-off-by: Juhana Helovuo <juhe@iki.fi>
Acked-by: Myles Watson <mylesgw@gmail.com>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5805 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/src/devices/pci_device.c b/src/devices/pci_device.c
index 4a9fa14..16e8d3f 100644
--- a/src/devices/pci_device.c
+++ b/src/devices/pci_device.c
@@ -1019,6 +1019,14 @@
 	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;