diff options
author | Stefan Reinauer <stepan@coresystems.de> | 2010-04-02 16:30:25 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2010-04-02 16:30:25 +0000 |
commit | 7355c7590bfd55f5bb15a5ca06acd841ece3b24a (patch) | |
tree | 9c6a853609fa16162a2eb3bdee0dc055b1cdbf6c /src/devices/pci_device.c | |
parent | 0c781b2694b2c137d9761704954ea38be5ba8a15 (diff) | |
download | coreboot-7355c7590bfd55f5bb15a5ca06acd841ece3b24a.tar.xz |
The error message is misleading, even for a SPEW, because
the slot is empty, it's NOT a bad ID (and the message is
more confusing than helpful even in SPEW)
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Myles Watson <mylesgw@gmail.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5345 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/devices/pci_device.c')
-rw-r--r-- | src/devices/pci_device.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/devices/pci_device.c b/src/devices/pci_device.c index fbe8b335af..b85ee53a72 100644 --- a/src/devices/pci_device.c +++ b/src/devices/pci_device.c @@ -910,10 +910,14 @@ device_t pci_probe_dev(device_t dev, struct bus * bus, unsigned devfn) dummy.path.pci.devfn = devfn; id = pci_read_config32(&dummy, PCI_VENDOR_ID); /* Have we found something? - * Some broken boards return 0 if a slot is empty. + * Some broken boards return 0 if a slot is empty, but + * the expected answer is 0xffffffff */ - if ((id == 0xffffffff) || (id == 0x00000000) || - (id == 0x0000ffff) || (id == 0xffff0000)) { + if (id == 0xffffffff) { + return NULL; + } + if ((id == 0x00000000) || (id == 0x0000ffff) || + (id == 0xffff0000)) { printk(BIOS_SPEW, "%s, bad id 0x%x\n", dev_path(&dummy), id); return NULL; } |