Bus renumbering, pci=assign-busses, and warning messages
Andrew Rodland
andrew at cleverdomain.org
Sat Oct 17 17:14:39 EDT 2009
Recently I had quite a fight with a PCI-PCMCIA adapter card in a Dell server.
It turned out to be caused by a PCI bus overlap issue, which was solved using
the "pci=assign-busses" kernel parameter. Once I found this I looked at some
history and noticed that there used to be a warning suggesting
pci=assign-busses in the PCI code, but it was removed after the bus fixup
stuff was added to yenta_socket. Unfortunately this means that it's still
silent even when yenta's bus fixup doesn't work, and the warning that
yenta_socket gives in that case is not very ominous, nor does it suggest the
commandline fix.
Maybe this is a "shouldn't happen" and nobody should ever have to use assign-
busses anymore, but unless that's the case I'd like to propose something like
this:
Signed-off-by: Andrew Rodland <andrew at cleverdomain.org>
---
drivers/pcmcia/yenta_socket.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index abe0e44..38fe701 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -1053,8 +1053,11 @@ static void yenta_fixup_parent_bridge(struct pci_bus
*cardbus_bridge)
/* Show that the wanted subordinate number is not possible: */
if (cardbus_bridge->subordinate > upper_limit)
dev_printk(KERN_WARNING, &cardbus_bridge->dev,
- "Upper limit for fixing this "
- "bridge's parent bridge: #%02x\n", upper_limit);
+ "PCI bus overlap: tried to renumber PCI bus #%02x "
+ "but there was nowhere to put it (upper limit: #%02x). "
+ "CardBus probably won't work. Try booting with "
+ "pci=assign-busses.",
+ bridge_to_fix->number, upper_limit);
/* If we have room to increase the bridge's subordinate number, */
if (bridge_to_fix->subordinate < upper_limit) {
--
1.6.3.3
More information about the linux-pcmcia
mailing list