Since 2.6.39, the SD card slot in my Lenovo X220 has stopped working. When I insert a card with current linux.git kernel (3.1-rc6), I get: [ 3891.745549] mmc0: new SDHC card at address b368 [ 3891.790704] mmcblk0: mmc0:b368 PNY 7.51 GiB [ 3891.795568] mmc0: Got data interrupt 0x00200000 even though no data operation was in progress. [ 3891.795571] sdhci: =========== REGISTER DUMP (mmc0)=========== [ 3891.795577] sdhci: Sys addr: 0xfffff400 | Version: 0x00000502 [ 3891.795582] sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000008 [ 3891.795587] sdhci: Argument: 0x00000000 | Trn mode: 0x00000033 [ 3891.795592] sdhci: Present: 0x014f0001 | Host ctl: 0x00000007 [ 3891.795597] sdhci: Power: 0x0000000f | Blk gap: 0x00000000 [ 3891.795602] sdhci: Wake-up: 0x00000000 | Clock: 0x00000107 [ 3891.795607] sdhci: Timeout: 0x0000000e | Int stat: 0x00000000 [ 3891.795612] sdhci: Int enab: 0x02ff008b | Sig enab: 0x02ff008b [ 3891.795617] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000 [ 3891.795621] sdhci: Caps: 0x21e8c8b2 | Caps_1: 0x00008073 [ 3891.795626] sdhci: Cmd: 0x00000c1b | Max curr: 0x00000040 [ 3891.795629] sdhci: Host ctl2: 0x00000000 [ 3891.795630] sdhci: =========================================== [ 3891.795742] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0x800b00 [ 3891.795744] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x800b00 [ 3891.795746] mmcblk0: retrying using single block read [ 3891.796136] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0 [ 3891.796146] end_request: I/O error, dev mmcblk0, sector 0 [ 3891.796531] mmcblk0: error -84 transferring data, sector 1, nr 7, cmd response 0x900, card status 0x0 [ 3891.796538] end_request: I/O error, dev mmcblk0, sector 1 [ 3891.796972] mmcblk0: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0 [ 3891.796979] end_request: I/O error, dev mmcblk0, sector 2 [ 3891.797062] mmcblk0: error -110 sending status command, retrying [ 3891.797107] mmcblk0: error -110 sending status command, retrying [ 3891.797128] mmcblk0: timed out sending r/w cmd command, card status 0x800900 [ 3891.797503] mmcblk0: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0 [ 3891.797509] end_request: I/O error, dev mmcblk0, sector 3 [ 3891.797709] mmcblk0: error -110 sending status command, retrying [ 3891.797732] mmcblk0: timed out sending r/w cmd command, card status 0xc00900 [ 3891.798109] mmcblk0: error -84 transferring data, sector 4, nr 4, cmd response 0x900, card status 0x0 [ 3891.798115] end_request: I/O error, dev mmcblk0, sector 4 [ 3891.798191] mmcblk0: timed out sending r/w cmd command, card status 0x800900 [ 3891.798592] mmcblk0: error -84 transferring data, sector 5, nr 3, cmd response 0x900, card status 0x0 [ 3891.798604] end_request: I/O error, dev mmcblk0, sector 5 [ 3891.798996] mmcblk0: error -84 transferring data, sector 6, nr 2, cmd response 0x900, card status 0x0 [ 3891.799004] end_request: I/O error, dev mmcblk0, sector 6 [ 3891.799388] mmcblk0: error -84 transferring data, sector 7, nr 1, cmd response 0x900, card status 0x0 [ 3891.799394] end_request: I/O error, dev mmcblk0, sector 7 [ 3891.799400] Buffer I/O error on device mmcblk0, logical block 0 [ 3891.799838] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00 [ 3891.799844] mmcblk0: retrying using single block read [ 3891.800228] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0 [ 3891.800234] end_request: I/O error, dev mmcblk0, sector 0 [ 3891.800628] mmcblk0: error -84 transferring data, sector 1, nr 7, cmd response 0x900, card status 0x0 [ 3891.800639] end_request: I/O error, dev mmcblk0, sector 1 [ 3891.801031] mmcblk0: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0 [ 3891.801037] end_request: I/O error, dev mmcblk0, sector 2 [ 3891.801420] mmcblk0: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0 [ 3891.801425] end_request: I/O error, dev mmcblk0, sector 3 [ 3891.801502] mmcblk0: timed out sending r/w cmd command, card status 0x400900 [ 3891.801895] mmcblk0: error -84 transferring data, sector 4, nr 4, cmd response 0x900, card status 0x0 [ 3891.801902] end_request: I/O error, dev mmcblk0, sector 4 [ 3891.802283] mmcblk0: error -84 transferring data, sector 5, nr 3, cmd response 0x900, card status 0x0 [ 3891.802289] end_request: I/O error, dev mmcblk0, sector 5 [ 3891.802674] mmcblk0: error -84 transferring data, sector 6, nr 2, cmd response 0x900, card status 0x0 [ 3891.802680] end_request: I/O error, dev mmcblk0, sector 6 [ 3891.803068] mmcblk0: error -84 transferring data, sector 7, nr 1, cmd response 0x900, card status 0x0 [ 3891.803074] end_request: I/O error, dev mmcblk0, sector 7 [ 3891.803079] Buffer I/O error on device mmcblk0, logical block 0 [ 3891.803105] mmcblk0: unable to read partition table [ 3891.835306] mmcblk0: error -110 sending status command, retrying [ 3891.835351] mmcblk0: error -110 sending status command, retrying [ 3891.835392] mmcblk0: error -110 sending status command, aborting [ 3891.835401] end_request: I/O error, dev mmcblk0, sector 15759232 [ 3891.835409] Buffer I/O error on device mmcblk0, logical block 1969904 [ 3891.835589] mmcblk0: error -110 sending status command, retrying [ 3891.835640] mmcblk0: error -110 sending status command, retrying [ 3891.835697] mmcblk0: error -110 sending status command, aborting [ 3891.835708] end_request: I/O error, dev mmcblk0, sector 15759232 [ 3891.835716] Buffer I/O error on device mmcblk0, logical block 1969904 [ 3891.835892] mmcblk0: error -110 sending status command, retrying [ 3891.835945] mmcblk0: error -110 sending status command, retrying [ 3891.836001] mmcblk0: error -110 sending status command, aborting [ 3891.836012] end_request: I/O error, dev mmcblk0, sector 15759344 [ 3891.836021] Buffer I/O error on device mmcblk0, logical block 1969918 [ 3891.836148] mmcblk0: error -110 sending status command, retrying [ 3891.836177] mmcblk0: error -110 sending status command, retrying [ 3891.836224] mmcblk0: error -110 sending status command, aborting [ 3891.836231] end_request: I/O error, dev mmcblk0, sector 15759344 [ 3891.836237] Buffer I/O error on device mmcblk0, logical block 1969918 [ 3891.836383] mmcblk0: error -110 sending status command, retrying [ 3891.836422] mmcblk0: error -110 sending status command, retrying [ 3891.836479] mmcblk0: error -110 sending status command, aborting [ 3891.836485] end_request: I/O error, dev mmcblk0, sector 0 [ 3891.836490] Buffer I/O error on device mmcblk0, logical block 0 [ 3891.836613] mmcblk0: error -110 sending status command, retrying [ 3891.836660] mmcblk0: error -110 sending status command, retrying [ 3891.836705] mmcblk0: error -110 sending status command, aborting [ 3891.836716] end_request: I/O error, dev mmcblk0, sector 0 [ 3891.836724] Buffer I/O error on device mmcblk0, logical block 0 [ 3891.837111] mmcblk0: error -110 sending status command, retrying [ 3891.837168] mmcblk0: error -110 sending status command, retrying [ 3891.837216] mmcblk0: error -110 sending status command, aborting [ 3891.837224] end_request: I/O error, dev mmcblk0, sector 8 [ 3891.837230] Buffer I/O error on device mmcblk0, logical block 1 [ 3891.837351] mmcblk0: error -110 sending status command, retrying [ 3891.837391] mmcblk0: error -110 sending status command, retrying [...] lspci shows the device is: 0d:00.0 System peripheral: Ricoh Co Ltd Device e823 (rev 04) (prog-if 01) Subsystem: Lenovo Device 21da Flags: bus master, fast devsel, latency 0, IRQ 16 Memory at f1400000 (32-bit, non-prefetchable) [size=256] Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [78] Power Management version 3 Capabilities: [80] Express Endpoint, MSI 00 Capabilities: [100] Virtual Channel Capabilities: [800] Advanced Error Reporting Kernel driver in use: sdhci-pci Kernel modules: sdhci-pci The same card in an external USB reader works fine. How can I help fix this? Thanks, J -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html