Bug 599660 - Many I/O errors with sdhc card in Lenovo T510 SD card reader
Many I/O errors with sdhc card in Lenovo T510 SD card reader
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel (Show other bugs)
6.0
All Linux
low Severity medium
: rc
: ---
Assigned To: Red Hat Kernel Manager
Red Hat Kernel QE team
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-06-03 13:30 EDT by William Cohen
Modified: 2010-11-22 10:26 EST (History)
0 users

See Also:
Fixed In Version: kernel-2.6.32-71.7.1.el6.x86_64
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-11-22 10:26:41 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description William Cohen 2010-06-03 13:30:59 EDT
Description of problem:

When attempting to use the built in SD card reader in the Lenovo T510 getting many errors of the form:

cp: reading `/media/disk/DCIM/101_FUJI/DSCF1125.JPG': Input/output error
cp: reading `/media/disk/DCIM/101_FUJI/DSCF1126.JPG': Input/output error
cp: reading `/media/disk/DCIM/101_FUJI/DSCF1127.JPG': Input/output error
cp: reading `/media/disk/DCIM/101_FUJI/DSCF1128.JPG': Input/output error
cp: reading `/media/disk/DCIM/101_FUJI/DSCF1129.JPG': Input/output error
cp: reading `/media/disk/DCIM/101_FUJI/DSCF1130.JPG': Input/output error
cp: reading `/media/disk/DCIM/101_FUJI/DSCF1131.JPG': Input/output error
cp: reading `/media/disk/DCIM/101_FUJI/DSCF1132.JPG': Input/output error
cp: reading `/media/disk/DCIM/101_FUJI/DSCF1133.JPG': Input/output error


in /var/log /messages see:

Jun  3 13:21:03 cannondale kernel: end_request: I/O error, dev mmcblk0, sector 50103
Jun  3 13:21:03 cannondale kernel: mmcblk0: retrying using single block read
Jun  3 13:21:03 cannondale kernel: mmcblk0: error -84 transferring data, sector 52504, nr 104, card status 0x900
Jun  3 13:21:03 cannondale kernel: end_request: I/O error, dev mmcblk0, sector 52504
Jun  3 13:21:03 cannondale kernel: mmcblk0: error -84 transferring data, sector 52520, nr 88, card status 0x900
Jun  3 13:21:03 cannondale kernel: end_request: I/O error, dev mmcblk0, sector 52520

Version-Release number of selected component (if applicable):

kernel-2.6.32-31.el6.x86_64

How reproducible:

every time

Steps to Reproduce:
1. Have x86-64 RHEL-6 installed on laptop
2. insert sd card into sd reader
3. cp -a /media/disk /tmp/.
  
Actual results:

Get many errors and files are not copied over correctly from SD card

Expected results:

No error messages and files are copied correctly between sd card and machine.


Additional info:

In /var/log/messages see the following for the sdhci-pci

Jun  3 08:37:40 cannondale kernel: sdhci-pci 0000:0d:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
Jun  3 08:37:40 cannondale kernel: sdhci-pci 0000:0d:00.0: Will use DMA mode even though HW doesn't fully claim to support it.

Below is backtrace in /var/log/messages

Jun  2 23:53:32 cannondale kernel: WARNING: at drivers/mmc/host/sdhci.c:870 sdhci_send_command+0xb5c/0xce0 [sdhci]() (Not tainted)
Jun  2 23:53:32 cannondale kernel: Hardware name: 4384BQ1
Jun  2 23:53:32 cannondale kernel: Modules linked in: vfat(U) fat(U) mmc_block(U) rfcomm(U) sco(U) bnep(U) l2cap(U) btusb(U) bluetooth(U) fuse(U) ebtable_nat(U) ebtables(U) ipt_MASQUERADE(U) iptable_nat(U) nf_nat(U) bridge(U) stp(U) llc(U) autofs4(U) sunrpc(U) cpufreq_ondemand(U) acpi_cpufreq(U) freq_table(U) xt_physdev(U) ip6t_REJECT(U) nf_conntrack_ipv6(U) ip6table_filter(U) ip6_tables(U) be2iscsi(U) bnx2i(U) cnic(U) uio(U) cxgb3i(U) cxgb3(U) mdio(U) ib_iser(U) rdma_cm(U) ib_cm(U) iw_cm(U) ib_sa(U) ib_mad(U) ib_core(U) ib_addr(U) ipv6(U) iscsi_tcp(U) libiscsi_tcp(U) libiscsi(U) scsi_transport_iscsi(U) fpu(U) aesni_intel(U) cryptd(U) aes_x86_64(U) aes_generic(U) xts(U) gf128mul(U) dm_crypt(U) dm_mirror(U) dm_region_hash(U) dm_log(U) kvm_intel(U) kvm(U) uinput(U) arc4(U) ecb(U) iwlagn(U) uvcvideo(U) iwlcore(U) e1000e(U) videodev(U) v4l2_compat_ioctl32(U) iTCO_wdt(U) mac80211(U) iTCO_vendor_support(U) thinkpad_acpi(U) i2c_i801(U) cfg80211(U) hwmon(U) sg(U) rfkill(U) wmi(U) ext4(U) mbcache(U) jbd2(U) sd_mod(U) sr_mod(
Jun  2 23:53:32 cannondale kernel: U) cdrom(U) crc_t10dif(U) firewire_ohci(U) firewire_core(U) crc_itu_t(U) sdhci_pci(U) sdhci(U) ahci(U) mmc_core(U) i915(U) drm_kms_helper(U) drm(U) i2c_algo_bit(U) i2c_core(U) video(U) output(U) dm_mod(U) [last unloaded: microcode]
Jun  2 23:53:32 cannondale kernel: Pid: 0, comm: swapper Not tainted 2.6.32-31.el6.x86_64 #1
Jun  2 23:53:32 cannondale kernel: Call Trace:
Jun  2 23:53:32 cannondale kernel: <IRQ>  [<ffffffff8106a483>] warn_slowpath_common+0x83/0xc0
Jun  2 23:53:32 cannondale kernel: [<ffffffff8106a4d4>] warn_slowpath_null+0x14/0x20
Jun  2 23:53:32 cannondale kernel: [<ffffffffa003c0fc>] sdhci_send_command+0xb5c/0xce0 [sdhci]
Jun  2 23:53:32 cannondale kernel: [<ffffffff8126380c>] ? is_swiotlb_buffer+0x3c/0x50
Jun  2 23:53:32 cannondale kernel: [<ffffffff8125a87a>] ? delay_tsc+0x4a/0x80
Jun  2 23:53:32 cannondale kernel: [<ffffffff8125a826>] ? __const_udelay+0x46/0x50
Jun  2 23:53:32 cannondale kernel: [<ffffffffa003c455>] sdhci_finish_data+0xe5/0x3e0 [sdhci]
Jun  2 23:53:32 cannondale kernel: [<ffffffff810931b2>] ? enqueue_hrtimer+0x82/0xd0
Jun  2 23:53:32 cannondale kernel: [<ffffffffa003cb81>] sdhci_irq+0x261/0x6fc [sdhci]
Jun  2 23:53:32 cannondale kernel: [<ffffffff8107bd4b>] ? get_next_timer_interrupt+0x1ab/0x240
Jun  2 23:53:32 cannondale kernel: [<ffffffff810d6e90>] handle_IRQ_event+0x60/0x170
Jun  2 23:53:32 cannondale kernel: [<ffffffff810d9594>] handle_fasteoi_irq+0x74/0xe0
Jun  2 23:53:32 cannondale kernel: [<ffffffff81015f89>] handle_irq+0x49/0xa0
Jun  2 23:53:32 cannondale kernel: [<ffffffff814db7fc>] do_IRQ+0x6c/0xf0
Jun  2 23:53:32 cannondale kernel: [<ffffffff81013ad3>] ret_from_intr+0x0/0x11
Jun  2 23:53:32 cannondale kernel: <EOI>  [<ffffffff812d8f8e>] ? acpi_idle_enter_bm+0x279/0x2ad
Jun  2 23:53:32 cannondale kernel: [<ffffffff812d8f87>] ? acpi_idle_enter_bm+0x272/0x2ad
Jun  2 23:53:32 cannondale kernel: [<ffffffff813ddb57>] cpuidle_idle_call+0xa7/0x140
Jun  2 23:53:32 cannondale kernel: [<ffffffff81011e96>] cpu_idle+0xb6/0x110
Jun  2 23:53:32 cannondale kernel: [<ffffffff814cd56b>] start_secondary+0x1fc/0x23f
Jun  2 23:53:32 cannondale kernel: ---[ end trace 485d5a9ebd3e6310 ]---
Comment 2 RHEL Product and Program Management 2010-06-07 12:05:01 EDT
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.
Comment 3 William Cohen 2010-06-13 14:12:40 EDT
I was able to read the SD card without problem on a Dell 1420 running Fedora 13. The dell had the following reader (from lshw):

          *-generic:0
                description: SD Host controller
                product: R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter
                vendor: Ricoh Co Ltd
                physical id: 1.1
                bus info: pci@0000:03:01.1
                version: 22
                width: 32 bits
                clock: 33MHz
                capabilities: bus_master cap_list
                configuration: driver=sdhci-pci latency=64
                resources: irq:18 memory:fe4ff400-fe4ff4ff

The Dell 1420 had the following information about the SDHC driver in /var/log/messages:

Jun 13 13:51:18 tandem kernel: sdhci: Secure Digital Host Controller Interface driver
Jun 13 13:51:18 tandem kernel: sdhci: Copyright(c) Pierre Ossman
Jun 13 13:51:18 tandem kernel: sdhci-pci 0000:03:01.1: SDHCI controller found [1180:0822] (rev 22)
Jun 13 13:51:18 tandem kernel: sdhci-pci 0000:03:01.1: PCI INT B -> GSI 18 (level, low) -> IRQ 18
Jun 13 13:51:18 tandem kernel: Registered led device: mmc0::
Jun 13 13:51:18 tandem kernel: mmc0: SDHCI controller on PCI [0000:03:01.1] using DMA]

On the T510 see the following information about the SDHC driver in /var/log/messages:


Jun 13 13:29:28 cannondale kernel: sdhci-pci 0000:0d:00.0: SDHCI controller found [1180:e822] (rev 1)
Jun 13 13:29:28 cannondale kernel: sdhci-pci 0000:0d:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
Jun 13 13:29:28 cannondale kernel: sdhci-pci 0000:0d:00.0: Will use DMA mode even though HW doesn't fully claim to support it.
Jun 13 13:29:28 cannondale kernel: Registered led device: mmc0::
Jun 13 13:29:28 cannondale kernel: mmc0: SDHCI controller on PCI [0000:0d:00.0] using DMA
Comment 4 RHEL Product and Program Management 2010-07-15 10:37:25 EDT
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release. It has
been denied for the current Red Hat Enterprise Linux release.

** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **
Comment 5 William Cohen 2010-11-22 10:26:41 EST
This problem is fixed in the  2.6.32-71.7.1.el6.x86_64 kernel that the machine is currently running.

Cards now being mounted and working properly on the machine:

Nov 22 10:17:59 cannondale kernel: mmc0: new SDHC card at address 0007
Nov 22 10:18:00 cannondale kernel: mmcblk0: mmc0:0007 SD08G 7.48 GiB 
Nov 22 10:18:00 cannondale kernel: mmcblk0: p1

The read benchmark in the "Disk Utility" and cp also work without error on the mounted device.

Note You need to log in before you can comment on or make changes to this bug.