Re: 2.4.2 yenta_socket problems on ThinkPad 240

Jeff Garzik
2001-06-15T23:26:07Z

Eric Smith wrote:
>
> On 6-Jun-2001, I reported:
> > I upgraded my IBM ThinkPad 240 (Type 2609-31U) from Red Hat 7.0 to
> > Red Hat 7.1, which uses the 2.4.2 kernel and the kernel PCMCIA drivers.
> > Before the upgrade, all my CardBus and PCMCIA devices were working fine.
> > Now the yenta_socket module seems to be causing problems, and none of
> > the cards work.
>
> Arjan van de Ven of Red Hat tracked my problem down to a broken BIOS,
> which is not configuring the TI PC1211 CardBus bridge correctly. Even
> IBM's latest BIOS for the ThinkPad 240, IRET75WW released 17-May-2001,
> has this problem. Apparently IBM has issued fixes for other ThinkPads
> because the problem occurs with Windows 2000, but since Windows 2000 is
> not supported on the ThinkPad 240, it is unlikely that they will fix it.
>
> A one line change to linux/include/asm-i386/pci.h fixes it:
>
> -#define pcibios_assign_all_busses() 0
> +#define pcibios_assign_all_busses() 1
>
> Given that this macro exists, I surmise that other people have been
> bitten by similar problems. So now my question is:
>
> Does it make sense to turn pcibios_assign_all_busses into a variable
> with a default value of zero, and implement a kernel argument to set it?

I believe Alan had mentioned something on IRC about seeing a case where
the CardBus bridge's secondary and subordinate bridge numbers were 1 on
bootup, but 0 after the yenta driver got ahold of it. So, there is the
potential that the yenta driver is not setting things up quite
correctly.

To answer your question, I wouldn't mind at all having a kernel command
line setting that turned the above into a variable...

I would love to just define it unconditionally for x86, but I believe
Martin said that causes problems with some hardware, and the way the
BIOS has set up that hardware. (details anyone?)

--
Jeff Garzik | Andre the Giant has a posse.
Building 1024 |
MandrakeSoft |