I am getting this error under heavy system load and IO access. I got the error repeatably on a compressed btrfs. I tried once with mdadm raid1 + ext4 but also got the error during system sync. I was able to successfully rsync the same system from SD card to the eMMC in question on a bare ext4 fs, delete a bunch of kernel source to make room for more system, and emerge a full gnome/lxde gentoo system. I have /var/tmp/portage and a swap partition on a removable SD card. I have been running this system from the eMMC for about a month, compiling & developing without issue. Now that I have a GUI installed the problem has reared it's head again, repeatably when I try to load firefox. The system is an ASUS TF101 (Tegra2) tablet that I am bringing up on a vanilla kernel. Prior to comming to the conclusion that cpu load was a contributing factor I tried a number of things, including but not limited to the following. - badblocks default 4 pass on the entire disk with no errors. - limiting mmc->max_blk_count from 65535 to 4, no errors detected. - using SDMA to rule out scatterlists, no change - trying 8K & 32K aligned writes, no change The log snip is from 4.16. I added the dump based on the following INT mask: SDHCI_INT_ERROR 0x00008000 SDHCI_INT_DATA_TIMEOUT 0x00100000 ... [< 0.000016>] <mmc2: starting CMD23 arg 00000040 flags 00000015> [< 0.000005>] mmc2: starting CMD25 arg 00046800 flags 000000b5 [< 0.000006>] mmc2: blksz 512 blocks 64 flags 00000100 tsac 1600 ms nsac 4000 [< 0.000005>] mmc2: CMD12 arg 00000000 flags 0000049d [< 0.000012>] mmc2: sdhci: IRQ status 0x00000001 [< 0.000011>] mmc2: sdhci: IRQ status 0x00000001 [< 0.022165>] mmc2: sdhci: IRQ status 0x00000002 [< 0.000027>] mmc2: req done <CMD23>: 0: 00000900 00000000 00000000 00000000 [< 0.000006>] mmc2: req done (CMD25): 0: 00000900 00000000 00000000 00000000 [< 0.000004>] mmc2: 32768 bytes transferred: 0 [< 0.000005>] mmc2: (CMD12): 0: 00000000 00000000 00000000 00000000 [< 0.000022>] mmc2: starting CMD13 arg 00010000 flags 00000195 [< 0.000018>] mmc2: sdhci: IRQ status 0x00000001 [< 0.000011>] mmc2: req done (CMD13): 0: 00000900 00000000 00000000 00000000 [< 0.000017>] <mmc2: starting CMD23 arg 00000020 flags 00000015> [< 0.000005>] mmc2: starting CMD25 arg 00046900 flags 000000b5 [< 0.000006>] mmc2: blksz 512 blocks 32 flags 00000100 tsac 1600 ms nsac 4000 [< 0.000005>] mmc2: CMD12 arg 00000000 flags 0000049d [< 0.000011>] mmc2: sdhci: IRQ status 0x00000001 [< 0.000012>] mmc2: sdhci: IRQ status 0x00000001 [< 1.605532>] mmc2: sdhci: IRQ status 0x00108000 [< 0.000044>] mmc2: sdhci: ============ SDHCI REGISTER DUMP =========== [< 0.000022>] mmc2: sdhci: Sys addr: 0x00000000 | Version: 0x00000001 [< 0.000020>] mmc2: sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000020 [< 0.000018>] mmc2: sdhci: Argument: 0x00000000 | Trn mode: 0x00000023 [< 0.000018>] mmc2: sdhci: Present: 0x1fe70007 | Host ctl: 0x00000031 [< 0.000017>] mmc2: sdhci: Power: 0x0000000f | Blk gap: 0x00000000 [< 0.000017>] mmc2: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007 [< 0.000016>] mmc2: sdhci: Timeout: 0x0000000e | Int stat: 0x00000000 [< 0.000017>] mmc2: sdhci: Int enab: 0x02ff000b | Sig enab: 0x02fc000b [< 0.000017>] mmc2: sdhci: AC12 err: 0x00000001 | Slot int: 0x00000000 [< 0.000017>] mmc2: sdhci: Caps: 0x61ff30b0 | Caps_1: 0x00000000 [< 0.000017>] mmc2: sdhci: Cmd: 0x00000c1b | Max curr: 0x00000001 [< 0.000016>] mmc2: sdhci: Resp[0]: 0x00000c00 | Resp[1]: 0x0000000c [< 0.000016>] mmc2: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000 [< 0.000014>] mmc2: sdhci: Host ctl2: 0x00000000 [< 0.000017>] mmc2: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x3c049400 [< 0.000013>] mmc2: sdhci: ============================================ [< 4.298981>] mmc2: req done (CMD13): 0: 00000e00 00000000 00000000 00000000 Any thoughts? -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html