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