TI CardBus bridge problem

Adam Belay ambx1 at neo.rr.com
Wed Jul 6 16:22:51 EDT 2005


On Sun, Jul 03, 2005 at 09:40:09PM +0100, Russell King wrote:
> On Sun, Jul 03, 2005 at 08:45:11PM +0200, Dominik Brodowski wrote:
> > Hi,
> > 
> > Please try this patch:
> > 
> > http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/pci/pci-fix-routing-in-parent-bridge.patch
> 
> I don't think this patch should be used - there is no guarantee that
> there aren't any PCI busses numbered after the one which has the cardbus
> bridge on, so this patch could result in other PCI busses becoming
> unaccessible.
> 
> We're gaining an ever increasing number of platforms which have this
> Cardbus-related problem, and so far "pci=assign-busses" has fixed
> each one apparantly without additional complaints.
> 
> However, for a bullet proof fix, what I think needs doing is:
> 
> * at boot, store the original bus configuration.
> * always do the pci=assign-busses thing.
> * use the original bus configuration when looking up IRQ resources and
>   the like in ACPI/PIRQ/whatever.
> * restore the bus configuration when we reboot/halt.
> 
> However, we may or may not need the last step, but I suspect some x86
> BIOS won't like to warm-reboot without it.

It's still uncertain if this will break ACPI in other ways.  In general, I'd
like to keep the original BIOS configuration whenever it's possible/valid.
In some cases, we may not know enough about the platform to renumber the
buses (e.g. which bridges might have a hotplugged bridge appear behind them).
Many BIOSes will leave room for this sort of stuff.

Another major issue is that we reserve 4 bus numbers for cardbus bridges.
Last I've looked at it, this code is very broken.  It ignores the busnr
configuration of peer bridges.  I think it should be removed.

Thanks,
Adam



More information about the linux-pcmcia mailing list