I have been getting some very erratic behaviour in 2.4 with Cardbus
initialisation and hotplug. In particular, timeouts when resetting the
cards and total failure of the PCMCIA subsystem, necessitating a
reboot.
If anyone else is having difficulties could you please try the patch
(against 2.4.0-test8-pre4) at
http://www.uow.edu.au/~andrewm/linux/pcmcia.patch
and let me know the result?
This is a sort of experimental, get-a-handle-on-what's-happening patch.
It does the following:
- Turns on debug
- In yenta_set_power(): write the voltage settings to the socket
control register, even if the desired value is already there.
This shouldn't make any difference, but cross my heart, it fixes
the reset timeout problem. For me.
- In yenta_set_power(): delay 50 milliseconds after writing the
socket control register.
Again, no explanation for why this works, but it prevents the
driver from reading bogus values from PCI configuration space.
- In cs.c: Fix a race wherein the driver ends up thinking that a
setup is pending on a non-existent card (this is the needs-reboot
problem).
- In yenta.c: totally disable yenta_interrupt and rely on the
one-second polling from the kernel thread. Also added some state
transition sanity checking and removal of redundant transition
events.
Insertion of a 3CCFE575CT NIC into a TI1225 Cardbus controller
causes a lot of contact bounce and a storm of interrupts, which tends
to confuse the driver's state management. Killing the interrupt is
the simplest way of debouncing the plug/unplug events.
Thanks.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/