'DMA: Out of SW-IOMMU space' errors using SD cards on Thinkpad X220

Bug #1001871 reported by oliford
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Medium
Unassigned

Bug Description

Reading data from a 16GB SD card produces a lot of the following error and corrupts the data read. Sometimes I see this as an occasional messed up photo which works perfectly on a later read, and sometimes the whole directory structure is broken (permissions, names, etc).

[68316.256729] ------------[ cut here ]------------
[68316.256737] WARNING: at /build/buildd/linux-3.0.0/drivers/mmc/host/sdhci.c:794 sdhci_prepare_data+0x391/0x400 [sdhci]()
[68316.256738] Hardware name: 42914CG
[68316.256739] Modules linked in: nls_iso8859_1 nls_cp437 vfat fat mmc_block cdc_acm usb_storage uas openafs(P) bnep rfcomm pci_stub vboxpci vboxnetadp vboxnetflt vboxdrv parport_pc ppdev snd_hda_codec_hdmi snd_hda_codec_conexant joydev nfsd nfs lockd fscache auth_rpcgss nfs_acl binfmt_misc sunrpc thinkpad_acpi snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_rawmidi arc4 snd_seq_midi_event snd_seq snd_timer snd_seq_device snd iwlagn tpm_tis wmi i915 nvram mac80211 drm_kms_helper drm btusb psmouse uvcvideo soundcore i2c_algo_bit snd_page_alloc videodev cfg80211 v4l2_compat_ioctl32 serio_raw mei(C) video bluetooth lp parport sdhci_pci sdhci ahci libahci e1000e xhci_hcd
[68316.256772] Pid: 1249, comm: mmcqd/0 Tainted: P WC 3.0.0-20-generic #34-Ubuntu
[68316.256774] Call Trace:
[68316.256779] [<ffffffff8105e8df>] warn_slowpath_common+0x7f/0xc0
[68316.256782] [<ffffffff8105e93a>] warn_slowpath_null+0x1a/0x20
[68316.256786] [<ffffffffa0066f21>] sdhci_prepare_data+0x391/0x400 [sdhci]
[68316.256791] [<ffffffffa00670ac>] sdhci_send_command+0x11c/0x240 [sdhci]
[68316.256795] [<ffffffffa0067723>] sdhci_request+0xb3/0x180 [sdhci]
[68316.256797] [<ffffffff814b667c>] mmc_start_request+0xcc/0xf0
[68316.256799] [<ffffffff814b66dd>] mmc_wait_for_req+0x3d/0x50
[68316.256802] [<ffffffffa0580e98>] mmc_blk_issue_rw_rq+0x298/0x820 [mmc_block]
[68316.256805] [<ffffffff814b6c60>] ? mmc_request_done+0xa0/0xa0
[68316.256808] [<ffffffffa05814e2>] mmc_blk_issue_rq+0xc2/0x170 [mmc_block]
[68316.256811] [<ffffffff812d2b03>] ? blk_start_request+0x33/0x50
[68316.256814] [<ffffffffa0582069>] mmc_queue_thread+0xa9/0x110 [mmc_block]
[68316.256817] [<ffffffffa0581fc0>] ? mmc_blk_probe+0x230/0x230 [mmc_block]
[68316.256820] [<ffffffff8108142c>] kthread+0x8c/0xa0
[68316.256824] [<ffffffff815fdc64>] kernel_thread_helper+0x4/0x10
[68316.256827] [<ffffffff810813a0>] ? flush_kthread_worker+0xa0/to 0xa0
[68316.256830] [<ffffffff815fdc60>] ? gs_change+0x13/0x13
[68316.256831] ---[ end trace 9e04b7dd2432a0c6 ]---
[68316.286028] DMA: Out of SW-IOMMU space for 65536 bytes at device 0000:0d:00.0
[68316.286030] ------------[ cut here ]------------

If I try to copy a lot of data, lots of the errors are produced and the system response, including mouse cursor movement, becomes very slow.

There are mentions of the same/a similar bug back in the 2007-2009 area for an older kernel, that had something to do with having more than 4GB of RAM (This machine has 8GB):
https://bugzilla.redhat.com/show_bug.cgi?id=478567

That was apparently fixed in 2.6.27.12 and this is 3.0.0-20.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: linux-image-3.0.0-20-generic 3.0.0-20.34
ProcVersionSignature: Ubuntu 3.0.0-20.34-generic 3.0.30
Uname: Linux 3.0.0-20-generic x86_64
NonfreeKernelModules: openafs
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.23-0ubuntu4
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: PCH [HDA Intel PCH], device 0: CONEXANT Analog [CONEXANT Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: oliford 1868 F.... xfce4-volumed
                      oliford 1961 F.... pulseaudio
 /dev/snd/controlC29: oliford 1868 F.... xfce4-volumed
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'PCH'/'HDA Intel PCH at 0xf2620000 irq 51'
   Mixer name : 'Intel CougarPoint HDMI'
   Components : 'HDA:14f1506e,17aa21da,00100002 HDA:80862805,80860101,00100000'
   Controls : 20
   Simple ctrls : 8
Card29.Amixer.info:
 Card hw:29 'ThinkPadEC'/'ThinkPad Console Audio Control at EC reg 0x30, fw unknown'
   Mixer name : 'ThinkPad EC (unknown)'
   Components : ''
   Controls : 1
   Simple ctrls : 1
Card29.Amixer.values:
 Simple mixer control 'Console',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
Date: Sun May 20 09:43:39 2012
HibernationDevice: RESUME=UUID=46e4abfa-a204-46df-bad2-f9711e8f0b99
InstallationMedia: Xubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
MachineType: LENOVO 42914CG
ProcEnviron:
 SHELL=/bin/bash
 PATH=(custom, no user)
 LANG=en_US.UTF-8
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-20-generic root=UUID=1a73e8e3-4715-4635-95aa-28811013a65e ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.0.0-20-generic N/A
 linux-backports-modules-3.0.0-20-generic N/A
 linux-firmware 1.60.1
SourcePackage: linux
StagingDrivers: mei
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 12/01/2011
dmi.bios.vendor: LENOVO
dmi.bios.version: 8DET56WW (1.26 )
dmi.board.asset.tag: Not Available
dmi.board.name: 42914CG
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr8DET56WW(1.26):bd12/01/2011:svnLENOVO:pn42914CG:pvrThinkPadX220:rvnLENOVO:rn42914CG:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 42914CG
dmi.product.version: ThinkPad X220
dmi.sys.vendor: LENOVO

Revision history for this message
oliford (oliford) wrote :
Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
oliford (oliford) wrote :

I tried the card in a USB card reader in the same laptop and it also failed and gave a SW-IOMMU warning in dmesg (with no kernel stracktrace though).

I have now rebooted the machine and both the built-in and USB card readers work perfectly with no warnings. Beforehand, the laptop had been in and out of suspend all week and IIRC hadn't been rebooted so it might have been caused by something else and just triggered here. I will try to isolate the cause next week.

BTW, There was no kernel update applied over the reboot that fixed it.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

@oliford, so you are no longer seeing this bug?

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Revision history for this message
oliford (oliford) wrote :

I've seen it a few times but I can't currently reproduce it after a reboot. It must be caused by something else.

Sorry, can you leave it as incomplete until I can reproduce it?

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.