Re: [PATCH] PCI/Cardbus cards hidden, needs pci=assign-busses to fix

From: Greg KH
Date: Thu Feb 23 2006 - 20:46:51 EST


On Sat, Feb 18, 2006 at 01:41:02AM -0800, Andrew Morton wrote:
> Bernhard Kaindl <bk@xxxxxxx> wrote:
> >
> > "In some cases, especially on modern laptops with a lot of PCI and cardbus
> > bridges, we're unable to assign correct secondary/subordinate bus numbers
> > to all cardbus bridges due to BIOS limitations unless we are using
> > "pci=assign-busses" boot option." -- Ivan Kokshaysky (from a patch comment)
> >
> > Without it, Cardbus cards inserted are never seen by PCI because the
> > parent PCI-PCI Bridge of the Cardbus bridge will not pass and translate
> > Type 1 PCI configuration cycles correctly and the system will fail to
> > find and initialise the PCI devices in the system.
> >
> > Reference: PCI-PCI Bridges: PCI Configuration Cycles and PCI Bus Numbering:
> > http://www.science.unitn.it/~fiorella/guidelinux/tlk/node72.html
> >
> > The reason for this is that:
> > ``All PCI busses located behind a PCI-PCI bridge must reside between the
> > secondary bus number and the subordinate bus number (inclusive).''
> >
> > "pci=assign-busses" makes pcibios_assign_all_busses return 1 and this
> > turns on PCI renumbering during PCI probing.
> >
> > Alan suggested to use DMI to make that function cause that on problem systems:
> >
> > [ snip patch which uses a DMI table to auto-set "pci=assign-busses" ]
> >
>
> I guess if this is the only way in which we can do this, and nobody has any
> better solutions then sure, it'll get people's machines going. We'll be
> forever patching that table though.
>
> But _does_ anyone have any better solutions?

This patch might not be needed at all, as per Kristen's recent comments
on the linux-pci mailing list, and her small patch that is already in
the -mm tree.

I'll let the discussion continue on that list.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/