[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: