From 02fa3b2743b3f37381b6af4ee4362422b9011c8b Mon Sep 17 00:00:00 2001 From: "Ronald G. Minnich" Date: Wed, 6 Oct 2004 17:33:54 +0000 Subject: epia-m support git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1655 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/devices/pci_device.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/devices') diff --git a/src/devices/pci_device.c b/src/devices/pci_device.c index 785bf33515..f87a590d0e 100644 --- a/src/devices/pci_device.c +++ b/src/devices/pci_device.c @@ -679,6 +679,10 @@ unsigned int pci_scan_bus(struct bus *bus, unsigned min_devfn, /* 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 @@ static void pci_level_irq(unsigned char intNum) { 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)); -- cgit v1.2.3