epia-m support


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1655 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/src/devices/pci_device.c b/src/devices/pci_device.c
index 785bf33..f87a590 100644
--- a/src/devices/pci_device.c
+++ b/src/devices/pci_device.c
@@ -679,6 +679,10 @@
 	/* if a child provides scan_bus(), for example a bridge, scan
 	 * buses behind that child */
 	for (child = bus->children; child; child = child->sibling) {
+		// make sure that we have an ops structure
+		if (!child->ops) {
+			continue;
+		}
 		if (!child->ops->scan_bus) {
 			continue;
 		}
@@ -767,17 +771,17 @@
 {
 	unsigned short intBits = inb(0x4d0) | (((unsigned) inb(0x4d1)) << 8);
 
-	printk_spew("%s: current ints are 0x%x\n", __FUNCTION__, intBits);
+	printk_debug("%s: current ints are 0x%x\n", __FUNCTION__, intBits);
 	intBits |= (1 << intNum);
 
-	printk_spew("%s: try to set ints 0x%x\n", __FUNCTION__, intBits);
+	printk_debug("%s: try to set ints 0x%x\n", __FUNCTION__, intBits);
 
 	// Write new values
 	outb((unsigned char) intBits, 0x4d0);
 	outb((unsigned char) (intBits >> 8), 0x4d1);
 
 	/* this seems like an error but is not ... */
-#if 0
+#if 1
 	if (inb(0x4d0) != (intBits & 0xf)) {
 	  printk_err("%s: lower order bits are wrong: want 0x%x, got 0x%x\n",
 		     __FUNCTION__, intBits &0xf, inb(0x4d0));