My HP Pavilion DV7 2170EF laptop has a JMicron SD reader. Until kernel 2.6.36-gentoo-r8, everything was fine. Since 2.6.37-gentoo-r4, it returns invalid data. If the SD card is not write protected, the FAT file system is corrupted on umount most of the time. The problem remains on 2.6.38-gentoo-r4 or vanilla kernel 2.6.37.6. lspci -v gives this: 06:00.1 System peripheral: JMicron Technology Corp. SD/MMC Host Controller Subsystem: Hewlett-Packard Company Device 3624 Flags: bus master, fast devsel, latency 0, IRQ 16 Memory at d6000b00 (32-bit, non-prefetchable) [size=256] Capabilities: [a4] Power Management version 3 Capabilities: [80] Express Endpoint, MSI 00 Capabilities: [94] MSI: Enable- Count=1/1 Maskable- 64bit- Kernel driver in use: sdhci-pci Kernel modules: sdhci-pci 06:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller (prog-if 01) Subsystem: Hewlett-Packard Company Device 3624 Flags: fast devsel, IRQ 16 Memory at d6000a00 (32-bit, non-prefetchable) [size=256] Capabilities: [a4] Power Management version 3 Capabilities: [80] Express Endpoint, MSI 00 Capabilities: [94] MSI: Enable- Count=1/1 Maskable- 64bit- Kernel modules: sdhci-pci See https://forums.gentoo.org/viewtopic-t-878603-highlight-.html A similar problem is reported on an Acer laptop with a JMicron SD/MMC controller too.
Broken on 2.6.39 too. What data can I provide to help debugging?
We would probably like to see dmesg output during mount and unmount on both a working and non working kernel
Created attachment 280023 [details] dmesg from 2.6.38 and 2.6.38 kernel w/ MMC debug I recompiled two kernels with the MMC debug option on. I plugged a SD card, mounted it (read only), ran ls -R on it, then a sum on the files, then unmounted it. The sum were different, of course, as the driver is broken in 2.6.38.
2.6.39 appears broken too.
The driver appears to be fixed in 3.0.x kernels.
That's good news. We will not be releasing any fixes for <2.6.39, so I am closing as fixed.