Bug#695318: linux-image-3.6-trunk-amd64: sdhci driver fails to interact with Ricoh e823 devices
Package: src:linux
Version: 3.6.8-1~experimental.1
Severity: normal
The Ricoh e823:1180 5-in-1 card reader, mounted in my Thinkpad 420s notebook is
quite unusable for me on Linux despite of being claimed by the sdhci
(sdhci_pci) driver. Inserting a SDHC card into the card slot I get
mmc0: error -110 whilst initialising SD card
The device in question is:
05:00.0 SD Host controller: Ricoh Co Ltd PCIe SDXC/MMC Host Controller (rev 07)
Subsystem: Device e823:1180
Physical Slot: 1
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at f0d00000 (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
This is (most likely) the same issue as reported to Ubuntu in [1][2]. I also tried the
workaround mentioned there, i.e. doing
setpci -v -d 1180:e823 f9.B=fc
setpci -v -d 1180:e823 150.B=10
setpci -v -d 1180:e823 f9.B=00
setpci -v -d 1180:e823 fc.B=01
setpci -v -d 1180:e823 e1.B=32
setpci -v -d 1180:e823 fc.B=00
rmmod sdhci_pci
rmmod sdhci
modprobe sdhci
modprobe sdhci_pci
This does not improve the situation much as I get this then:
Dec 7 00:28:38 localhost kernel: [ 91.271006] pci 0000:05:00.0: [1180:e823] type 00 class 0x080500
Dec 7 00:28:38 localhost kernel: [ 91.271089] pci 0000:05:00.0: MMC controller base frequency changed to 50Mhz.
Dec 7 00:28:38 localhost kernel: [ 91.271163] pci 0000:05:00.0: reg 10: [mem 0x00000000-0x000000ff]
Dec 7 00:28:38 localhost kernel: [ 91.271451] pci 0000:05:00.0: supports D1 D2
Dec 7 00:28:38 localhost kernel: [ 91.271456] pci 0000:05:00.0: PME# supported from D0 D1 D2 D3hot D3cold
Dec 7 00:28:38 localhost kernel: [ 91.278946] pci 0000:05:00.0: BAR 0: assigned [mem 0xf0d00000-0xf0d000ff]
Dec 7 00:28:38 localhost kernel: [ 91.279093] pci 0000:05:00.0: no hotplug settings from platform
Dec 7 00:28:38 localhost kernel: [ 91.292912] sdhci: Secure Digital Host Controller Interface driver
Dec 7 00:28:38 localhost kernel: [ 91.292921] sdhci: Copyright(c) Pierre Ossman
Dec 7 00:28:38 localhost kernel: [ 91.294334] sdhci-pci 0000:05:00.0: SDHCI controller found [1180:e823] (rev 4)
Dec 7 00:28:38 localhost kernel: [ 91.294768] sdhci-pci 0000:05:00.0: enabling device (0000 -> 0002)
Dec 7 00:28:38 localhost kernel: [ 91.295093] sdhci-pci 0000:05:00.0: Will use DMA mode even though HW doesn't fully claim to support it.
Dec 7 00:28:38 localhost kernel: [ 91.295160] mmc0: no vmmc regulator found
Dec 7 00:28:38 localhost kernel: [ 91.295354] Registered led device: mmc0::
Dec 7 00:28:38 localhost kernel: [ 91.330561] mmc0: SDHCI controller on PCI [0000:05:00.0] using DMA
Dec 7 00:28:39 localhost kernel: [ 92.447669] mmc0: Controller never released inhibit bit(s).
Dec 7 00:28:39 localhost kernel: [ 92.551221] mmc0: Reset 0x2 never completed.
Dec 7 00:28:39 localhost kernel: [ 92.654717] mmc0: Reset 0x4 never completed.
Dec 7 00:28:39 localhost kernel: [ 92.665538] mmc0: Controller never released inhibit bit(s).
Dec 7 00:28:39 localhost kernel: [ 92.769135] mmc0: Reset 0x2 never completed.
Dec 7 00:28:39 localhost kernel: [ 92.872641] mmc0: Reset 0x4 never completed.
Dec 7 00:28:39 localhost kernel: [ 92.884447] mmc0: Controller never released inhibit bit(s).
Dec 7 00:28:40 localhost kernel: [ 92.988085] mmc0: Reset 0x2 never completed.
Dec 7 00:28:40 localhost kernel: [ 93.135250] mmc0: Reset 0x4 never completed.
Dec 7 00:28:40 localhost kernel: [ 93.147303] mmc0: Controller never released inhibit bit(s).
Dec 7 00:28:40 localhost kernel: [ 93.246605] mmc0: Reset 0x2 never completed.
Dec 7 00:28:40 localhost kernel: [ 93.345902] mmc0: Reset 0x4 never completed.
Dec 7 00:28:40 localhost kernel: [ 93.352540] sdhci: Switching to 3.3V signalling voltage failed
Dec 7 00:28:41 localhost kernel: [ 94.490838] pci 0000:05:00.0: [1180:e823] type 00 class 0x080500
Dec 7 00:28:41 localhost kernel: [ 94.490921] pci 0000:05:00.0: MMC controller base frequency changed to 50Mhz.
Dec 7 00:28:41 localhost kernel: [ 94.490996] pci 0000:05:00.0: reg 10: [mem 0x00000000-0x000000ff]
Dec 7 00:28:41 localhost kernel: [ 94.491326] pci 0000:05:00.0: supports D1 D2
Dec 7 00:28:41 localhost kernel: [ 94.491331] pci 0000:05:00.0: PME# supported from D0 D1 D2 D3hot D3cold
Dec 7 00:28:41 localhost kernel: [ 94.498737] pci 0000:05:00.0: BAR 0: assigned [mem 0xf0d00000-0xf0d000ff]
Dec 7 00:28:41 localhost kernel: [ 94.498977] pci 0000:05:00.0: no hotplug settings from platform
Dec 7 00:28:41 localhost kernel: [ 94.499157] sdhci-pci 0000:05:00.0: SDHCI controller found [1180:e823] (rev 4)
Dec 7 00:28:41 localhost kernel: [ 94.499229] sdhci-pci 0000:05:00.0: enabling device (0000 -> 0002)
Dec 7 00:28:41 localhost kernel: [ 94.499534] sdhci-pci 0000:05:00.0: Will use DMA mode even though HW doesn't fully claim to support it.
Dec 7 00:28:41 localhost kernel: [ 94.499596] mmc0: no vmmc regulator found
Dec 7 00:28:41 localhost kernel: [ 94.499831] Registered led device: mmc0::
Dec 7 00:28:41 localhost kernel: [ 94.534377] mmc0: SDHCI controller on PCI [0000:05:00.0] using DMA
Dec 7 00:29:38 localhost kernel: [ 151.117657] sdhci-pci 0000:05:00.0: Will use DMA mode even though HW doesn't fully claim to support it.
Dec 7 00:29:38 localhost kernel: [ 151.194504] mmc0: SD Status: Invalid Allocation Unit size.
Dec 7 00:29:38 localhost kernel: [ 151.196047] mmc0: new SD card at address d555
Dec 7 00:29:38 localhost kernel: [ 151.202010] mmcblk0: mmc0:d555 SD032 30.6 MiB
Dec 7 00:29:38 localhost kernel: [ 151.203961] mmcblk0: unknown partition table
Dec 7 00:29:38 localhost kernel: [ 151.212060] mmcblk0: error -84 transferring data, sector 62288, nr 8, cmd response 0x900, card status 0xb00
Dec 7 00:29:38 localhost kernel: [ 151.212076] mmcblk0: retrying using single block read
The card reader is a express card thingie which I can physically remove from
the notebook. Booting without having the PCI card reader device inserted, I can
use the card reader (for whatever reason) for a short time. However, after a few
reads/writes to the SDHC disk, the process stucks again, giving the same reason
again:
Dec 7 00:57:43 snowball kernel: [ 69.308347] pci 0000:05:00.0: [1180:e823] type 00 class 0x080500
Dec 7 00:57:43 snowball kernel: [ 69.308430] pci 0000:05:00.0: MMC controller base frequency changed to 50Mhz.
Dec 7 00:57:43 snowball kernel: [ 69.308505] pci 0000:05:00.0: reg 10: [mem 0x00000000-0x000000ff]
Dec 7 00:57:43 snowball kernel: [ 69.308834] pci 0000:05:00.0: supports D1 D2
Dec 7 00:57:43 snowball kernel: [ 69.308840] pci 0000:05:00.0: PME# supported from D0 D1 D2 D3hot D3cold
Dec 7 00:57:43 snowball kernel: [ 69.316406] pci 0000:05:00.0: BAR 0: assigned [mem 0xf0d00000-0xf0d000ff]
Dec 7 00:57:43 snowball kernel: [ 69.316518] pci 0000:05:00.0: no hotplug settings from platform
Dec 7 00:57:43 snowball kernel: [ 69.329543] sdhci: Secure Digital Host Controller Interface driver
Dec 7 00:57:43 snowball kernel: [ 69.329550] sdhci: Copyright(c) Pierre Ossman
Dec 7 00:57:43 snowball kernel: [ 69.330857] sdhci-pci 0000:05:00.0: SDHCI controller found [1180:e823] (rev 4)
Dec 7 00:57:43 snowball kernel: [ 69.331003] sdhci-pci 0000:05:00.0: enabling device (0000 -> 0002)
Dec 7 00:57:43 snowball kernel: [ 69.331328] sdhci-pci 0000:05:00.0: Will use DMA mode even though HW doesn't fully claim to support it.
Dec 7 00:57:43 snowball kernel: [ 69.331393] mmc0: no vmmc regulator found
Dec 7 00:57:43 snowball kernel: [ 69.331575] Registered led device: mmc0::
Dec 7 00:57:43 snowball kernel: [ 69.367859] mmc0: SDHCI controller on PCI [0000:05:00.0] using DMA
Dec 7 00:57:47 snowball kernel: [ 73.355459] mmc0: new SDHC card at address aaaa
Dec 7 00:57:47 snowball kernel: [ 73.361402] mmcblk0: mmc0:aaaa SU16G 14.8 GiB
Dec 7 00:57:47 snowball kernel: [ 73.372982] mmcblk0: p1 p2
Dec 7 01:12:34 snowball kernel: [ 959.357097] INFO: task blkid:4109 blocked for more than 120 seconds.
Dec 7 01:12:34 snowball kernel: [ 959.357104] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Dec 7 01:12:34 snowball kernel: [ 959.357107] blkid D ffff88021e253b80 0 4109 3745 0x00000004
Dec 7 01:12:34 snowball kernel: [ 959.357114] ffff8800a262ea70 0000000000000086 0000000000000000 ffff8802100b2300
Dec 7 01:12:34 snowball kernel: [ 959.357120] 0000000000013b80 ffff88009d065fd8 ffff88009d065fd8 ffff8800a262ea70
Dec 7 01:12:34 snowball kernel: [ 959.357125] 0000000000000246 ffff8801ebff1bd8 ffff8800a262ea70 0000000000000002
Dec 7 01:12:34 snowball kernel: [ 959.357131] Call Trace:
Dec 7 01:12:34 snowball kernel: [ 959.357145] [<ffffffff8136a8c5>] ? __mutex_lock_common.isra.5+0x100/0x167
Dec 7 01:12:34 snowball kernel: [ 959.357151] [<ffffffff8136a7b2>] ? mutex_lock+0x1a/0x2d
Dec 7 01:12:34 snowball kernel: [ 959.357158] [<ffffffff8112ee1e>] ? __blkdev_get+0x9a/0x3ce
Dec 7 01:12:34 snowball kernel: [ 959.357163] [<ffffffff8112f31b>] ? blkdev_get+0x1c9/0x2ab
Dec 7 01:12:34 snowball kernel: [ 959.357171] [<ffffffff810c6817>] ? __alloc_pages_nodemask+0x15b/0x759
Dec 7 01:12:34 snowball kernel: [ 959.357178] [<ffffffff81117361>] ? __d_lookup_rcu+0x98/0xbf
Dec 7 01:12:34 snowball kernel: [ 959.357182] [<ffffffff8112f3fd>] ? blkdev_get+0x2ab/0x2ab
Dec 7 01:12:34 snowball kernel: [ 959.357189] [<ffffffff811048ff>] ? do_dentry_open+0x162/0x209
Dec 7 01:12:34 snowball kernel: [ 959.357194] [<ffffffff81104cf0>] ? finish_open+0x2a/0x33
Dec 7 01:12:34 snowball kernel: [ 959.357198] [<ffffffff8111154d>] ? do_last+0x863/0x9e7
Dec 7 01:12:34 snowball kernel: [ 959.357202] [<ffffffff8111178f>] ? path_openat+0xbe/0x343
Dec 7 01:12:34 snowball kernel: [ 959.357207] [<ffffffff81111c83>] ? do_filp_open+0x2a/0x6e
Dec 7 01:12:34 snowball kernel: [ 959.357213] [<ffffffff810f8df6>] ? kmem_cache_alloc+0x89/0xfb
Dec 7 01:12:34 snowball kernel: [ 959.357218] [<ffffffff8111abe3>] ? alloc_fd+0x64/0xee
Dec 7 01:12:34 snowball kernel: [ 959.357223] [<ffffffff8110567c>] ? do_sys_open+0x5f/0xe6
Dec 7 01:12:34 snowball kernel: [ 959.357231] [<ffffffff81370eb9>] ? system_call_fastpath+0x16/0x1b
The hanging task, in this case, was a dd towards /dev/mmcblk0. From that point on,
I get error -110 again‥
[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/965280
[2] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/773524
-- Package-specific info:
** Kernel log: boot messages should be attached
** Model information
sys_vendor: LENOVO
product_name: 4171CTO
product_version: ThinkPad T420s
chassis_vendor: LENOVO
chassis_version: Not Available
bios_vendor: LENOVO
bios_version: 8CET55WW (1.35 )
board_vendor: LENOVO
board_name: 4171CTO
board_version: Not Available
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.6-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages linux-image-3.5-trunk-amd64 depends on:
ii debconf [debconf-2.0] 1.5.46
ii initramfs-tools [linux-initramfs-tool] 0.109
ii kmod 9-2
ii linux-base 3.5
ii module-init-tools 9-2
Versions of packages linux-image-3.5-trunk-amd64 recommends:
ii firmware-linux-free 3.1
Versions of packages linux-image-3.5-trunk-amd64 suggests:
pn debian-kernel-handbook <none>
ii grub-pc 1.99-23.1
pn linux-doc-3.5 <none>
Versions of packages linux-image-3.5-trunk-amd64 is related to:
pn firmware-atheros <none>
pn firmware-bnx2 <none>
pn firmware-bnx2x <none>
pn firmware-brcm80211 <none>
pn firmware-intelwimax <none>
pn firmware-ipw2x00 <none>
pn firmware-ivtv <none>
ii firmware-iwlwifi 0.36
pn firmware-libertas <none>
pn firmware-linux <none>
pn firmware-linux-nonfree <none>
pn firmware-myricom <none>
pn firmware-netxen <none>
pn firmware-qlogic <none>
pn firmware-ralink <none>
pn firmware-realtek <none>
pn xen-hypervisor <none>
-- debconf information:
linux-image-3.5-trunk-amd64/postinst/missing-firmware-3.5-trunk-amd64:
linux-image-3.5-trunk-amd64/postinst/ignoring-ramdisk:
linux-image-3.5-trunk-amd64/prerm/removing-running-kernel-3.5-trunk-amd64: true
linux-image-3.5-trunk-amd64/postinst/depmod-error-initrd-3.5-trunk-amd64: false
Reply to: