[ltp] Required T42/T42p patch for PCMCIA
Dax Kelson
linux-thinkpad@linux-thinkpad.org
Mon, 27 Sep 2004 21:20:19 -0600
After suffering for two months with my T42p not auto detecting inserted
PCMCIA cards (no hotplug events, printks visible with dmesg), and
reproducing the problem on my co-workers brand new T42, I finally found
enough interesting data points (including having PCMCIA hotplug work
when the onboard wired ethernet was up!) to provide a meaningful bug
report.
If your CardBus bridge matches mine:
# lspci | grep CardBus
02:00.0 CardBus bridge: Texas Instruments PCI4520 PC card Cardbus Controller (rev 01)
02:00.1 CardBus bridge: Texas Instruments PCI4520 PC card Cardbus Controller (rev 01)
# lspci -n | grep 02:00
02:00.0 Class 0607: 104c:ac46 (rev 01)
02:00.1 Class 0607: 104c:ac46 (rev 01)
Then you might find that the following patch (for the 2.6 kernel) from
Russell King might help you. It solved all my PCMCIA woes.
===== drivers/pcmcia/yenta_socket.c 1.59 vs edited =====
--- 1.59/drivers/pcmcia/yenta_socket.c 2004-08-22 15:39:15 +01:00
+++ edited/drivers/pcmcia/yenta_socket.c 2004-09-27 23:03:57
+01:00
@@ -1091,6 +1091,7 @@
CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_4410, TI12XX),
CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_4450, TI12XX),
CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_4451, TI12XX),
+ CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_4520, TI12XX),
CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_1250, TI1250),
CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_1410, TI1250),
===== include/linux/pci_ids.h 1.176 vs edited =====
--- 1.176/include/linux/pci_ids.h 2004-08-28 19:46:04 +01:00
+++ edited/include/linux/pci_ids.h 2004-09-27 23:03:54 +01:00
@@ -734,6 +734,7 @@
#define PCI_DEVICE_ID_TI_1251B 0xac1f
#define PCI_DEVICE_ID_TI_4410 0xac41
#define PCI_DEVICE_ID_TI_4451 0xac42
+#define PCI_DEVICE_ID_TI_4520 0xac46
#define PCI_DEVICE_ID_TI_1410 0xac50
#define PCI_DEVICE_ID_TI_1420 0xac51
#define PCI_DEVICE_ID_TI_1451A 0xac52