lkml.org 
[lkml]   [1999]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] PCI bus detection bug
Date
Hello,

The PCI code in Linux-2.2 doesn't seem to find peer busses very well,
specifically when they are not numbered sequentially. I've seen this
problem on a few different Compaq systems with hot-plug pci. The fix
is rather trivial:

--- linux/arch/i386/kernel/bios32.c.orig Thu Feb 18 00:45:56 1999
+++ linux/arch/i386/kernel/bios32.c Thu Feb 18 00:46:11 1999
@@ -985,8 +985,6 @@
l == PCI_CLASS_BRIDGE_HOST)
cnt++;
}
- if (cnt-- <= 0)
- break;
if (found) {
printk("PCI: Discovered primary peer bus %02x\n", n);
b = kmalloc(sizeof(*b), GFP_KERNEL);
I'm a bit curious about this code. Although comments at the top of
pcibios_fixup_peer_bridges seem to suggest that a lot of BIOSes will
number busses using the first free value they can find (probably resulting
in busses being numbered sequentially), the comments also seem to
indicate that this behavior is not required. Yet this code seems to
enforce sequentially numbered peer busses...

I am by no means a PCI expert, so perhaps someone could enlighten me?

Regards,
--Chris

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:50    [W:0.027 / U:0.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site