AM3354: EMMC write timeout on 6.1.119 kernel

Part Number: AM3354

Hi,

To fix the CVEs, I have upgraded SDK version to latest 09.03.05.02. The kernel version of this SDK is 6.1.119. I am suffering from a EMMC write timeout problem with fio test. This issue hasn't been observed in the old kernel v3.12.

Here is the detailed information:

I ran a fio stress testing with the following command:

fio --name=concurrent   --directory=$TEST_DIR  --rw=randrw --rwmixread=70 --bs=4k --size=200M --numjobs=4 --runtime=$DURATION --group_reporting 
--output=/tmp/fio_loop_$loop.json --output-format=json

around 1 hour later, the kernel reported an SDHCI timeout error:

[  406.240892] mmc1: Timeout waiting for hardware interrupt.                         

[  406.246364] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========

[  406.252832] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101

[  406.259302] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000008

[  406.265770] mmc1: sdhci: Argument:  0x00e9f8c9 | Trn mode: 0x00000023

[  406.272238] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000

[  406.278706] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000

[  406.285174] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107

[  406.291641] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000

[  406.298109] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b

[  406.304577] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000

[  406.311044] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000

[  406.317511] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000

[  406.323979] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000

[  406.330446] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000

[  406.336913] mmc1: sdhci: Host ctl2: 0x00000000

such CMD25 timeout error cannot be recovered, then after a while the file system reported serious errors and was corrupted.   After I power off and on the board, the file system was totally corrupted and kernel couldn't mount it anymore, the board was a brick.

 

I have done some investigation, as following,

1. can reproduce on all boards. I haved tested on more than 10 boards.

2. replace with old software image of v3.12 kernel, the problem cannot be reproduced.

3. the problem was firstly observed on 25MHz clk. I tried to lower the sdhci clk freq to 13 MHz, it was still reproduced. P.S. 50M clk was used in the v3.12 kernel image.

4. Captured the Logical analysis: in the CMD25 transfer EMMC replied CRC STATUS OK but host didn't continue to send the data.

5. Compared with the 3.12 driver code, I also tried to add SDHCI_QUIRK2_HOST_NO_CMD23 to disable the CMD23, the CMD25 timeout happended much rarely. Tested more than 60 hours, CMD25 timeout didn't happend. However CMD 6 flush cache time out happened.

6. Change to use PIO mode ( DMA disabled) , CMD25 timeout didn't happend, but CMD 6 flush cache time out happened.

7. Removed the MMC_CAP_AGGRESSIVE_PM cap, can reproduce.

8. Disabled CMD23 and increased the cache flush timeout to 10min, reproduced CMD25 timeout failure after around 30+ hours testing.

in 6.1.119 kernel, the host driver has been moved to omap-sdhci from omap_hsmmc. maybe this is the cause why I got this problem.

Thanks.

  • Hi,

    Today (Monday) is a holiday in the US and our office is closed. I will review your query this week and get back to you.

  • 
    
    root@SunGrow:/home/sg/fio-3.41# ./test.sh 
    === Loop 1/2880 - Fri May  8 09:57:32 UTC 2026 ===
    === Loop 2/2880 - Fri May  8 09:58:43 UTC 2026 ===B/s][r=1604,w=694 IOPS][eta 00m:00s]
    === Loop 3/2880 - Fri May  8 10:00:42 UTC 2026 ===B/s][r=1635,w=712 IOPS][eta 00m:00s]
    [  406.240892] mmc1: Timeout waiting for hardware interrupt.                         
    [  406.246364] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  406.252832] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  406.259302] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000008
    [  406.265770] mmc1: sdhci: Argument:  0x00e9f8c9 | Trn mode: 0x00000023
    [  406.272238] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  406.278706] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  406.285174] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  406.291641] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  406.298109] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  406.304577] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  406.311044] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  406.317511] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  406.323979] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  406.330446] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  406.336913] mmc1: sdhci: Host ctl2: 0x00000000
    [  406.341374] mmc1: sdhci: ============================================
    [  424.800938] mmc1: Timeout waiting for hardware interrupt.9,w=520 IOPS][eta 00m:00s]
    [  424.806414] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  424.812883] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  424.819353] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000010
    [  424.825822] mmc1: sdhci: Argument:  0x00d27d79 | Trn mode: 0x00000023
    [  424.832290] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  424.838758] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  424.845225] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  424.851693] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  424.858160] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  424.864628] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  424.871095] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  424.877562] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  424.884030] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  424.890497] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  424.896965] mmc1: sdhci: Host ctl2: 0x00000000
    [  424.901425] mmc1: sdhci: ============================================
    [  435.680936] mmc1: Timeout waiting for hardware interrupt.
    [  435.686410] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  435.692878] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  435.699349] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000060
    [  435.705817] mmc1: sdhci: Argument:  0x00466cd1 | Trn mode: 0x00000023
    [  435.712285] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  435.718753] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  435.725220] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  435.731688] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  435.738155] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  435.744623] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  435.751090] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  435.757557] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  435.764025] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  435.770493] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  435.776960] mmc1: sdhci: Host ctl2: 0x00000000
    [  435.781421] mmc1: sdhci: ============================================
    [  448.480919] mmc1: Timeout waiting for hardware interrupt.
    [  448.486396] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  448.492867] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  448.499337] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000010
    [  448.505805] mmc1: sdhci: Argument:  0x00d7dc69 | Trn mode: 0x00000023
    [  448.512273] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  448.518740] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  448.525208] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  448.531675] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  448.538143] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  448.544611] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  448.551078] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  448.557545] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  448.564012] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  448.570480] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  448.576947] mmc1: sdhci: Host ctl2: 0x00000000
    [  448.581408] mmc1: sdhci: ============================================
    [  458.720876] mmc1: Timeout waiting for hardware interrupt.
    [  458.726349] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  458.732818] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  458.739289] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000010
    [  458.745756] mmc1: sdhci: Argument:  0x00d7dd49 | Trn mode: 0x00000023
    [  458.752224] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  458.758692] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  458.765160] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  458.771627] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  458.778094] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  458.784562] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  458.791029] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  458.797497] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  458.803964] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  458.810431] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  458.816899] mmc1: sdhci: Host ctl2: 0x00000000
    [  458.821359] mmc1: sdhci: ============================================
    === Loop 4/2880 - Fri May  8 10:03:27 UTC 2026 ===
    [  470.240875] mmc1: Timeout waiting for hardware interrupt.
    [  470.246347] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  470.252817] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  470.259287] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000010
    [  470.265755] mmc1: sdhci: Argument:  0x00466eb9 | Trn mode: 0x00000023
    [  470.272223] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  470.278691] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  470.285158] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  470.291626] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  470.298093] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  470.304561] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  470.311029] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  470.317496] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  470.323963] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  470.330431] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  470.336898] mmc1: sdhci: Host ctl2: 0x00000000
    [  470.341359] mmc1: sdhci: ============================================
    [  481.120881] mmc1: Timeout waiting for hardware interrupt.
    [  481.126354] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  481.132823] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  481.139293] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000048
    [  481.145761] mmc1: sdhci: Argument:  0x00466fa1 | Trn mode: 0x00000023
    [  481.152229] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  481.158696] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  481.165164] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  481.171631] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  481.178099] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  481.184567] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  481.191034] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  481.197502] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  481.203969] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  481.210436] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  481.216904] mmc1: sdhci: Host ctl2: 0x00000000
    [  481.221364] mmc1: sdhci: ============================================
    [  491.360875] mmc1: Timeout waiting for hardware interrupt.
    [  491.366349] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  491.372817] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  491.379287] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  491.385755] mmc1: sdhci: Argument:  0x00ce34c9 | Trn mode: 0x00000023
    [  491.392223] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  491.398691] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  491.405158] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  491.411626] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  491.418094] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  491.424561] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  491.431029] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  491.437496] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  491.443963] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  491.450431] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  491.456898] mmc1: sdhci: Host ctl2: 0x00000000
    [  491.461359] mmc1: sdhci: ============================================
    [  501.600879] mmc1: Timeout waiting for hardware interrupt.
    [  501.606351] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  501.612820] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  501.619290] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  501.625758] mmc1: sdhci: Argument:  0x00ce38c9 | Trn mode: 0x00000023
    [  501.632227] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  501.638694] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  501.645162] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  501.651630] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  501.658097] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  501.664565] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  501.671032] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  501.677499] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  501.683967] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  501.690435] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  501.696902] mmc1: sdhci: Host ctl2: 0x00000000
    [  501.701363] mmc1: sdhci: ============================================
    [  512.480885] mmc1: Timeout waiting for hardware interrupt.
    [  512.486356] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  512.492824] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  512.499294] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  512.505762] mmc1: sdhci: Argument:  0x00ce58c9 | Trn mode: 0x00000023
    [  512.512230] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  512.518698] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  512.525166] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  512.531633] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  512.538101] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  512.544568] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  512.551035] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  512.557503] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  512.563970] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  512.570438] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  512.576905] mmc1: sdhci: Host ctl2: 0x00000000
    [  512.581365] mmc1: sdhci: ============================================
    [  523.360882] mmc1: Timeout waiting for hardware interrupt.
    [  523.366355] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  523.372824] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  523.379294] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  523.385762] mmc1: sdhci: Argument:  0x00ce60c9 | Trn mode: 0x00000023
    [  523.392230] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  523.398698] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  523.405165] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  523.411632] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  523.418100] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  523.424567] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  523.431035] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  523.437502] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  523.443970] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  523.450437] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  523.456904] mmc1: sdhci: Host ctl2: 0x00000000
    [  523.461365] mmc1: sdhci: ============================================
    [  534.240888] mmc1: Timeout waiting for hardware interrupt.
    [  534.246362] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  534.252832] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  534.259300] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  534.265768] mmc1: sdhci: Argument:  0x00ce84b9 | Trn mode: 0x00000023
    [  534.272236] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  534.278704] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  534.285171] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  534.291639] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  534.298106] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  534.304574] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  534.311041] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  534.317509] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  534.323976] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  534.330444] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  534.336911] mmc1: sdhci: Host ctl2: 0x00000000
    [  534.341372] mmc1: sdhci: ============================================
    [  544.480875] mmc1: Timeout waiting for hardware interrupt.
    [  544.486342] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  544.492812] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  544.499282] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000048
    [  544.505750] mmc1: sdhci: Argument:  0x00ce9481 | Trn mode: 0x00000023
    [  544.512218] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  544.518686] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  544.525153] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  544.531621] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  544.538089] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  544.544556] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  544.551024] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  544.557491] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  544.563958] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  544.570426] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  544.576893] mmc1: sdhci: Host ctl2: 0x00000000
    [  544.581353] mmc1: sdhci: ============================================
    [  554.720878] mmc1: Timeout waiting for hardware interrupt.
    [  554.726347] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  554.732815] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  554.739285] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  554.745753] mmc1: sdhci: Argument:  0x00ce94c9 | Trn mode: 0x00000023
    [  554.752222] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  554.758689] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  554.765157] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  554.771625] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  554.778092] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  554.784560] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  554.791027] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  554.797494] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  554.803962] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  554.810430] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  554.816896] mmc1: sdhci: Host ctl2: 0x00000000
    [  554.821357] mmc1: sdhci: ============================================
    [  565.600892] mmc1: Timeout waiting for hardware interrupt.
    [  565.606366] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  565.612834] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  565.619304] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  565.625773] mmc1: sdhci: Argument:  0x00cea871 | Trn mode: 0x00000023
    [  565.632241] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  565.638709] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  565.645177] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  565.651644] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  565.658112] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  565.664580] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  565.671047] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  565.677515] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  565.683982] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  565.690450] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  565.696917] mmc1: sdhci: Host ctl2: 0x00000000
    [  565.701378] mmc1: sdhci: ============================================
    [  576.480880] mmc1: Timeout waiting for hardware interrupt.
    [  576.486353] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  576.492823] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  576.499293] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x000000d8
    [  576.505762] mmc1: sdhci: Argument:  0x00ceb3f1 | Trn mode: 0x00000023
    [  576.512230] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  576.518698] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  576.525165] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  576.531633] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  576.538100] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  576.544568] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  576.551035] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  576.557502] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  576.563970] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  576.570437] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  576.576905] mmc1: sdhci: Host ctl2: 0x00000000
    [  576.581365] mmc1: sdhci: ============================================
    [  586.720890] mmc1: Timeout waiting for hardware interrupt.
    [  586.726363] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  586.732832] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  586.739302] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  586.745770] mmc1: sdhci: Argument:  0x00ceb4c9 | Trn mode: 0x00000023
    [  586.752238] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  586.758706] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  586.765173] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  586.771640] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  586.778108] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  586.784576] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  586.791043] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  586.797510] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  586.803978] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  586.810446] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  586.816913] mmc1: sdhci: Host ctl2: 0x00000000
    [  586.821374] mmc1: sdhci: ============================================
    [  596.960881] mmc1: Timeout waiting for hardware interrupt.
    [  596.966349] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  596.972818] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  596.979288] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  596.985756] mmc1: sdhci: Argument:  0x00cec4c1 | Trn mode: 0x00000023
    [  596.992224] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  596.998692] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  597.005160] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  597.011628] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  597.018095] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  597.024563] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  597.031030] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  597.037498] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  597.043965] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  597.050433] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  597.056900] mmc1: sdhci: Host ctl2: 0x00000000
    [  597.061360] mmc1: sdhci: ============================================
    [  607.200875] mmc1: Timeout waiting for hardware interrupt.
    [  607.206346] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  607.212816] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  607.219285] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  607.225754] mmc1: sdhci: Argument:  0x00cec8c1 | Trn mode: 0x00000023
    [  607.232222] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  607.238689] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  607.245156] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  607.251624] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  607.258092] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  607.264560] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  607.271027] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  607.277494] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  607.283962] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  607.290429] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  607.296896] mmc1: sdhci: Host ctl2: 0x00000000
    [  607.301357] mmc1: sdhci: ============================================
    
    Connection closed.
    
    Disconnected from remote host(COM17  3号) at 10:05:57.
    
    Type `help' to learn how to use Xshell prompt.
    [C:\~]$ 
    
    Connecting to COM17...
    Connected.
    
    
    
    
    [  734.560949] mmc1: Timeout waiting for hardware interrupt.
    [  734.566426] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  734.572896] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  734.579366] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  734.585834] mmc1: sdhci: Argument:  0x00cf3c41 | Trn mode: 0x00000023
    [  734.592302] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  734.598770] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  734.605237] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  734.611705] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  734.618173] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  734.624641] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  734.631108] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  734.637575] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  734.644043] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x321002c7
    [  734.650511] mmc1: sdhci: Resp[2]:   0x43593253 | Resp[3]:  0x2c010e54
    [  734.656978] mmc1: sdhci: Host ctl2: 0x00000000
    [  734.661439] mmc1: sdhci: ============================================
    
    [  745.440942] mmc1: Timeout waiting for hardware interrupt.
    [  745.446418] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  745.452888] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  745.459358] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  745.465826] mmc1: sdhci: Argument:  0x00cf6441 | Trn mode: 0x00000023
    [  745.472294] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  745.478762] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  745.485229] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  745.491697] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  745.498164] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  745.504632] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  745.511099] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  745.517567] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  745.524034] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  745.530502] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  745.536969] mmc1: sdhci: Host ctl2: 0x00000000
    [  745.541429] mmc1: sdhci: ============================================
    [  756.320962] mmc1: Timeout waiting for hardware interrupt.
    [  756.326437] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  756.332906] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  756.339376] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  756.345845] mmc1: sdhci: Argument:  0x00cf7c41 | Trn mode: 0x00000023
    [  756.352313] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  756.358781] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  756.365248] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  756.371716] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  756.378183] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  756.384651] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  756.391118] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  756.397586] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  756.404053] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  756.410521] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  756.416988] mmc1: sdhci: Host ctl2: 0x00000000
    [  756.421449] mmc1: sdhci: ============================================
    [  767.200879] mmc1: Timeout waiting for hardware interrupt.
    [  767.206346] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  767.212813] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  767.219283] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  767.225752] mmc1: sdhci: Argument:  0x00cfb441 | Trn mode: 0x00000023
    [  767.232219] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  767.238687] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  767.245155] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  767.251623] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  767.258090] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  767.264558] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  767.271025] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  767.277492] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  767.283959] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  767.290427] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  767.296894] mmc1: sdhci: Host ctl2: 0x00000000
    [  767.301355] mmc1: sdhci: ============================================
    [  778.080885] mmc1: Timeout waiting for hardware interrupt.
    [  778.086356] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  778.092825] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  778.099295] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  778.105763] mmc1: sdhci: Argument:  0x00cf3c41 | Trn mode: 0x00000023
    [  778.112231] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  778.118699] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  778.125166] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  778.131634] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  778.138100] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  778.144568] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  778.151035] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  778.157502] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  778.163970] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  778.170437] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  778.176904] mmc1: sdhci: Host ctl2: 0x00000000
    [  778.181365] mmc1: sdhci: ============================================
    [  788.960896] mmc1: Timeout waiting for hardware interrupt.
    [  788.966367] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  788.972836] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  788.979306] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  788.985774] mmc1: sdhci: Argument:  0x00d02bd9 | Trn mode: 0x00000023
    [  788.992242] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  788.998709] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  789.005177] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  789.011644] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  789.018112] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  789.024579] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  789.031047] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  789.037514] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  789.043982] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x321002c7
    [  789.050450] mmc1: sdhci: Resp[2]:   0x43593253 | Resp[3]:  0x2c010e54
    [  789.056917] mmc1: sdhci: Host ctl2: 0x00000000
    [  789.061378] mmc1: sdhci: ============================================
    [  800.480908] mmc1: Timeout waiting for hardware interrupt.
    [  800.486373] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  800.492841] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  800.499312] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  800.505780] mmc1: sdhci: Argument:  0x00d0b6c1 | Trn mode: 0x00000023
    [  800.512248] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  800.518716] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  800.525183] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  800.531651] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  800.538118] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  800.544586] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  800.551054] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  800.557521] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  800.563989] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  800.570457] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  800.576924] mmc1: sdhci: Host ctl2: 0x00000000
    [  800.581384] mmc1: sdhci: ============================================
    
    
    
    
    [  810.720908] mmc1: Timeout waiting for hardware interrupt.
    [  810.726372] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  810.732841] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  810.739311] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  810.745779] mmc1: sdhci: Argument:  0x00d02bd9 | Trn mode: 0x00000023
    [  810.752247] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  810.758715] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  810.765181] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  810.771648] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  810.778116] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  810.784585] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  810.791052] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  810.797519] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  810.803987] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  810.810454] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  810.816921] mmc1: sdhci: Host ctl2: 0x00000000
    [  810.821382] mmc1: sdhci: ============================================
    [  820.960878] mmc1: Timeout waiting for hardware interrupt.
    [  820.966350] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  820.972819] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  820.979289] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  820.985758] mmc1: sdhci: Argument:  0x00d02bd9 | Trn mode: 0x00000023
    [  820.992226] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  820.998693] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  821.005161] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  821.011629] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  821.018097] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  821.024565] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  821.031032] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  821.037499] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  821.043967] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x321002c7
    [  821.050434] mmc1: sdhci: Resp[2]:   0x43593253 | Resp[3]:  0x2c010e54
    [  821.056902] mmc1: sdhci: Host ctl2: 0x00000000
    [  821.061363] mmc1: sdhci: ============================================
    [  821.121327] I/O error, dev mmcblk1, sector 13642713 op 0x1:(WRITE) flags 0x4000 phys_seg 3 prio class 2
    [  821.135118] EXT4-fs warning (device mmcblk1p2): ext4_end_bio:343: I/O error 10 writing to inode 266299 starting block 1705979)
    [  831.200880] mmc1: Timeout waiting for hardware interrupt.
    [  831.206352] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  831.212820] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  831.219289] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  831.225757] mmc1: sdhci: Argument:  0x00d0c539 | Trn mode: 0x00000023
    [  831.232225] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  831.238693] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  831.245161] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  831.251628] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  831.258095] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  831.264563] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  831.271030] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  831.277498] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  831.283965] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  831.290433] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  831.296900] mmc1: sdhci: Host ctl2: 0x00000000
    [  831.301360] mmc1: sdhci: ============================================
    [  841.440877] mmc1: Timeout waiting for hardware interrupt.
    [  841.446350] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  841.452818] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  841.459288] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  841.465756] mmc1: sdhci: Argument:  0x00d0d1b9 | Trn mode: 0x00000023
    [  841.472225] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  841.478693] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  841.485161] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  841.491628] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  841.498095] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  841.504563] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  841.511030] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  841.517498] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  841.523965] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  841.530432] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  841.536899] mmc1: sdhci: Host ctl2: 0x00000000
    [  841.541360] mmc1: sdhci: ============================================
    [  852.320887] mmc1: Timeout waiting for hardware interrupt.
    [  852.326358] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  852.332826] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  852.339296] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  852.345764] mmc1: sdhci: Argument:  0x00d0f1b9 | Trn mode: 0x00000023
    [  852.352232] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  852.358700] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  852.365168] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  852.371635] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  852.378102] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  852.384570] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  852.391037] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  852.397505] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  852.403972] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  852.410440] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  852.416908] mmc1: sdhci: Host ctl2: 0x00000000
    [  852.421369] mmc1: sdhci: ============================================
    [  862.560887] mmc1: Timeout waiting for hardware interrupt.
    [  862.566360] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  862.572828] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  862.579298] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  862.585766] mmc1: sdhci: Argument:  0x00d0fdb9 | Trn mode: 0x00000023
    [  862.592233] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  862.598701] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  862.605168] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  862.611636] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  862.618103] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  862.624571] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  862.631038] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  862.637506] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  862.643973] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  862.650441] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  862.656908] mmc1: sdhci: Host ctl2: 0x00000000
    [  862.661368] mmc1: sdhci: ============================================
    [  873.440883] mmc1: Timeout waiting for hardware interrupt.
    [  873.446353] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  873.452822] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  873.459293] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  873.465760] mmc1: sdhci: Argument:  0x00d109b9 | Trn mode: 0x00000023
    [  873.472228] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  873.478696] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  873.485163] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  873.491631] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  873.498099] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  873.504567] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  873.511034] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  873.517501] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  873.523969] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  873.530436] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  873.536903] mmc1: sdhci: Host ctl2: 0x00000000
    [  873.541364] mmc1: sdhci: ============================================
    [  884.320880] mmc1: Timeout waiting for hardware interrupt.
    [  884.326351] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  884.332820] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  884.339289] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  884.345757] mmc1: sdhci: Argument:  0x00d11db9 | Trn mode: 0x00000023
    [  884.352225] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  884.358693] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  884.365161] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  884.371628] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  884.378096] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  884.384563] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  884.391030] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  884.397498] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  884.403965] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  884.410433] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  884.416900] mmc1: sdhci: Host ctl2: 0x00000000
    [  884.421360] mmc1: sdhci: ============================================
    [  896.480887] mmc1: Timeout waiting for hardware interrupt.
    [  896.486358] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  896.492827] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00003101
    [  896.499297] mmc1: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000400
    [  896.505765] mmc1: sdhci: Argument:  0x00d1e629 | Trn mode: 0x00000023
    [  896.512234] mmc1: sdhci: Present:   0x01f70506 | Host ctl: 0x00000000
    [  896.518702] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
    [  896.525169] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000107
    [  896.531636] mmc1: sdhci: Timeout:   0x0000000b | Int stat: 0x00000000
    [  896.538104] mmc1: sdhci: Int enab:  0x027f000b | Sig enab: 0x027f000b
    [  896.544571] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
    [  896.551039] mmc1: sdhci: Caps:      0x01e10080 | Caps_1:   0x00000000
    [  896.557506] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  896.563973] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000000
    [  896.570441] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    [  896.576908] mmc1: sdhci: Host ctl2: 0x00000000
    [  896.581368] mmc1: sdhci: ============================================
    [  896.656317] Buffer I/O error on device mmcblk1p2, logical block 1687010
    [  896.696467] Buffer I/O error on device mmcblk1p2, logical block 1687011
    [  896.739276] Buffer I/O error on device mmcblk1p2, logical block 1687012
    [  896.770148] Buffer I/O error on device mmcblk1p2, logical block 1687013
    [  896.796889] Buffer I/O error on device mmcblk1p2, logical block 1687014
    [  896.809942] Buffer I/O error on device mmcblk1p2, logical block 1687015
    [  896.818659] Buffer I/O error on device mmcblk1p2, logical block 1687016
    [  896.827032] Buffer I/O error on device mmcblk1p2, logical block 1687017
    [  896.835394] Buffer I/O error on device mmcblk1p2, logical block 1687018
    [  896.850479] Buffer I/O error on device mmcblk1p2, logical block 1687019
    

  • Hi Thomas,

    7. Removed the MMC_CAP_AGGRESSIVE_PM cap, can reproduce.

    Is following patch the change of this test?

    commit a31fa24813a770dc3389e5174a7757e74b96ac0f
    Author: Ulf Hansson <ulf.hansson@linaro.org>
    Date:   Wed Mar 12 13:17:12 2025 +0100
    
        mmc: sdhci-omap: Disable MMC_CAP_AGGRESSIVE_PM for eMMC/SD
        
        commit 49d162635151d0dd04935070d7cf67137ab863aa upstream.
        
        We have received reports about cards can become corrupt related to the
        aggressive PM support. Let's make a partial revert of the change that
        enabled the feature.
        
        Reported-by: David Owens <daowens01@gmail.com>
        Reported-by: Romain Naour <romain.naour@smile.fr>
        Reported-by: Robert Nelson <robertcnelson@gmail.com>
        Tested-by: Robert Nelson <robertcnelson@gmail.com>
        Fixes: 3edf588e7fe0 ("mmc: sdhci-omap: Allow SDIO card power off and enable aggressive PM")
        Cc: stable@vger.kernel.org
        Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
        Acked-by: Adrian Hunter <adrian.hunter@intel.com>
        Reviewed-by: Tony Lindgren <tony@atomide.com>
        Link: https://lore.kernel.org/r/20250312121712.1168007-1-ulf.hansson@linaro.org
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    
    diff --git a/drivers/mmc/host/sdhci-omap.c b/drivers/mmc/host/sdhci-omap.c
    index 5841a9afeb9f..ea4a801c9ace 100644
    --- a/drivers/mmc/host/sdhci-omap.c
    +++ b/drivers/mmc/host/sdhci-omap.c
    @@ -1339,8 +1339,8 @@ static int sdhci_omap_probe(struct platform_device *pdev)
            /* R1B responses is required to properly manage HW busy detection. */
            mmc->caps |= MMC_CAP_NEED_RSP_BUSY;
     
    -       /* Allow card power off and runtime PM for eMMC/SD card devices */
    -       mmc->caps |= MMC_CAP_POWER_OFF_CARD | MMC_CAP_AGGRESSIVE_PM;
    +       /*  Enable SDIO card power off. */
    +       mmc->caps |= MMC_CAP_POWER_OFF_CARD;
     
            ret = sdhci_setup_host(host);
            if (ret)

    in 6.1.119 kernel, the host driver has been moved to omap-sdhci from omap_hsmmc. maybe this is the cause why I got this problem.

    Can you try to change back to omap_hsmmc.c in kernel v6.1.119 to see if the issue still happens?

  • Is following patch the change of this test?

    Yes.  

    Can you try to change back to omap_hsmmc.c in kernel v6.1.119 to see if the issue still happens?

    I tried but this driver doesn't work well in v6.1.119. it reported Oops.

    [BEGIN] 2026/4/23 21:14:15
    fio: io_u error on file /usrdata//mixed.0.0: Input/output error: write offset=826564608, buflen=4096
    fio: pid=21383, err=5/file:io_u.c:2008, func=io_u error, error=Input/output error
    
    
    sg_klogd[778]: [21996.687214] Internal error: Oops - BUG: 0 [#1] PREEMPT ARM
    sg_klogd[778]: [21996.840019] Process kworker/0:1H (pid: 8139, stack limit = 0xd4495083)
    sg_klogd[778]: [21996.846582] Stack: (0xc32a5c60 to 0xc32a6000)
    sg_klogd[778]: [21996.850961] 5c60: c32a5c74 c015b258 c32a5c74 c0159960 c32a5cac c015b2e8 c3482800 c099d8dc
    sg_klogd[778]: [21996.859177] 5c80: c3482800 bc81cdaf 00000000 c36dfe30 00000000 c1203360 00000000 bc81cdaf
    sg_klogd[778]: [21996.867392] 5ca0: 00000003 c3482800 c32a5ce8 00000000 00000000 000000b3 0000012c 00000000
    sg_klogd[778]: [21996.875608] 5cc0: 00000001 c098c45c c32a5ce8 c3482800 c3482800 c098c5c8 c32a5d54 00000003
    sg_klogd[778]: [21996.883822] 5ce0: c3482800 c098c6a0 00000000 c32a5d54 00000000 00000000 00000000 c32a5cfc
    sg_klogd[778]: [21996.892037] 5d00: c32a5cfc 00000000 c32a5d08 c32a5d08 c098ad14 00000000 00000000 00000000
    sg_klogd[778]: [21996.900253] 5d20: 00000000 bc81cdaf 03b30001 c3482800 c3483000 c0994598 00002000 c0166298
    sg_klogd[778]: [21996.908468] 5d40: 00000000 00000000 c2759280 c3711f00 00001000 00000006 03b30001 00000000
    sg_klogd[778]: [21996.916683] 5d60: 00000000 00000000 00000000 0000049d 00000003 00000000 0000012c 00000000
    sg_klogd[778]: [21996.924898] 5d80: c32a5ce8 bc81cdaf c1a9b48c c35ac008 c3483000 c363a600 00000000 c3482800
    sg_klogd[778]: [21996.933113] 5da0: c35ac000 00000000 c363a600 c0994750 0000012c 00000000 00000001 00000000
    sg_klogd[778]: [21996.941329] 5dc0: 00000003 bc81cdaf 00000001 c09a18b4 0000012c 00000002 c3483000 bc81cdaf
    sg_klogd[778]: [21996.949544] 5de0: c35ac008 c35ac010 00000002 c3483000 00000000 c3482800 00000002 c09a2468
    sg_klogd[778]: [21996.957759] 5e00: c32a5dfc c3296800 dfd911e0 c363a638 c32a5ebc c34a2500 c363a600 c34a2500
    sg_klogd[778]: [21996.965974] 5e20: c1a9b400 00000002 c32a5e64 c04d3048 c32a5ec4 00000000 00000000 00000000
    sg_klogd[778]: [21996.974189] 5e40: ffffffff 00000000 c1363c3a c0f4d480 c3296800 c35acc00 00000080 c058290c
    sg_klogd[778]: [21996.982405] 5e60: c363aa00 c32a5e64 c32a5e64 c363a600 c3539300 bc81cdaf c35acc00 c32a5ebc
    sg_klogd[778]: [21996.990620] 5e80: 00000003 c34a2500 00000000 c1a9b400 00000000 c35acc00 00000080 c04d94ac
    sg_klogd[778]: [21996.998835] 5ea0: c3296800 c3296800 00211ba6 c12896a0 c04d9058 00000000 c32a5eec c363a838
    sg_klogd[778]: [21997.007051] 5ec0: c363aa38 c3296800 ffffffff bc81cdaf c18ed800 c34a2500 c32a5efc c35acc00
    sg_klogd[778]: [21997.015266] 5ee0: df99e900 00000000 c3296800 df99e905 c121f940 c04d974c c3296800 c32a5efc
    sg_klogd[778]: [21997.023481] 5f00: c32a5efc bc81cdaf c34a2500 00000000 c13641e0 c04d9874 c34a2500 c04cfed0
    sg_klogd[778]: [21997.031697] 5f20: c34a250c c1ece080 c13641e0 c014997c c121f940 c121f940 c121f958 c1ece080
    sg_klogd[778]: [21997.039912] 5f40: c121f940 c1ece098 c121f958 c12896a0 00000008 c3296800 c121f940 c0149cd8
    sg_klogd[778]: [21997.048127] 5f60: c1ece080 c1363886 600f0013 c1e617c0 c3296800 c0149c80 c1ece080 c1e612c0
    sg_klogd[778]: [21997.056342] 5f80: c326ded0 00000000 00000000 c0150bc8 c1e617c0 c0150af0 00000000 00000000
    sg_klogd[778]: [21997.064557] 5fa0: 00000000 00000000 00000000 c010014c 00000000 00000000 00000000 00000000
    sg_klogd[778]: [21997.072773] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    sg_klogd[778]: [21997.080987] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    
    sg_klogd[778]: [21997.089213]  omap_hsmmc_request from mmc_start_request+0x94/0xbc
    sg_klogd[778]: [21997.095262]  mmc_start_request from mmc_wait_for_req+0x64/0xd0
    sg_klogd[778]: [21997.101127]  mmc_wait_for_req from mmc_wait_for_cmd+0x6c/0xb0
    sg_klogd[778]: [21997.106905]  mmc_wait_for_cmd from __mmc_switch+0xb8/0x240
    sg_klogd[778]: [21997.112431]  __mmc_switch from mmc_switch+0x30/0x38
    sg_klogd[778]: [21997.117343]  mmc_switch from mmc_blk_mq_issue_rq+0x1f8/0xa78
    sg_klogd[778]: [21997.123052]  mmc_blk_mq_issue_rq from mmc_mq_queue_rq+0x12c/0x2ac
    sg_klogd[778]: [21997.129187]  mmc_mq_queue_rq from blk_mq_dispatch_rq_list+0x1d0/0x980
    sg_klogd[778]: [21997.135677]  blk_mq_dispatch_rq_list from blk_mq_do_dispatch_sched+0x2e4/0x340
    sg_klogd[778]: [21997.142948]  blk_mq_do_dispatch_sched from __blk_mq_sched_dispatch_requests+0xb0/0x184
    sg_klogd[778]: [21997.150907]  __blk_mq_sched_dispatch_requests from blk_mq_sched_dispatch_requests+0x34/0x5c
    sg_klogd[778]: [21997.159303]  blk_mq_sched_dispatch_requests from __blk_mq_run_hw_queue+0x58/0xe0
    sg_klogd[778]: [21997.166740]  __blk_mq_run_hw_queue from process_one_work+0x1c0/0x4c4
    sg_klogd[778]: [21997.173147]  process_one_work from worker_thread+0x58/0x584
    sg_klogd[778]: [21997.178756]  worker_thread from kthread+0xd8/0x108
    sg_klogd[778]: [21997.183583]  kthread from ret_from_fork+0x14/0x28
    
    sg_klogd[778]: [21997.188315] Exception stack(0xc32a5fb0 to 0xc32a5ff8)
    
    sg_klogd[778]: [21997.193388] 5fa0:                                     00000000 00000000 00000000 00000000
    sg_klogd[778]: [21997.201603] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    sg_klogd[778]: [21997.209817] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
    sg_klogd[778]: [21997.216465] Code: e5961000 e3510000 1affff7f eaffff81 (e7f001f2)
    
    

    also reproduced the cache flush timeout issue:

    [BEGIN] 2026/4/24 14:33:43
    [ 1336.013034] cpsw 4a100000.ethernet eth0: Link is Down90,w=285 IOPS][eta 09h:39m:50s]
    [30141.766432] mmc1: Card stuck being busy! __mmc_poll_for_busy
    [30141.847370] mmc1: cache flush error -110
    [30143.026181] mmc1: Card stuck being busy! __mmc_poll_for_busy
    [30143.032294] mmc1: tried to HW reset card, got error -110
    [30143.037945] mmcblk1: recovery failed!
    [30143.041709] I/O error, dev mmcblk1, sector 9226257 op 0x1:(WRITE) flags 0x8800 phys_seg 1 prio class 2
    fio: io_u error on file /usrdata//mixed.0.0: Input/output error: write offset=883331072, buflen=4096
    fio: pid=1921, err=5/file:io_u.c:2008, func=io_u error, error=Input/output error

  • Hi Thomas,

    I tried but this driver doesn't work well in v6.1.119. it reported Oops.

    Understood. Let's not go to that route, I don't think the omap_hsmmc.c has been validated in the newer kernels, since the devicetree compatible has been changed to sdhci-omap.c.

    Have you tested the same usecase on the AM335x GPEVM or Beaglebone Black board to see if the issue also happens?

  • Hi Bin,

    No.  I don't have these boards. 

  • Hi Thomas,

    I am trying to run the same test on the EVM. Can you please share your test.sh?

    I ran a fio stress testing with the following command:

    fio --name=concurrent   --directory=$TEST_DIR  --rw=randrw --rwmixread=70 --bs=4k --size=200M --numjobs=4 --runtime=$DURATION --group_reporting 
    --output=/tmp/fio_loop_$loop.json --output-format=json

    By the way, the fio program provided in the SDK9.3 doesn't seem to have all the options you used in the command above.

    root@am335x-evm:~# fio
    No job(s) defined

    fio-3.30
    fio [options] [job options] <job file(s)>
      --debug=options       Enable debug logging. May be one/more of:
                            process,file,io,mem,blktrace,verify,random,parse,
                            diskutil,job,mutex,profile,time,net,rate,compress,
                            steadystate,helperthread,zbd
      --parse-only          Parse options only, don't start any IO
      --merge-blktrace-only Merge blktraces only, don't start any IO
      --output              Write output to file
      --bandwidth-log       Generate aggregate bandwidth logs
      --minimal             Minimal (terse) output
      --output-format=type  Output format (terse,json,json+,normal)
      --terse-version=type  Set terse version output format (default 3, or 2 or 4) 
      --version             Print version info and exit
      --help                Print this page
      --cpuclock-test       Perform test/validation of CPU clock
      --crctest=[type]      Test speed of checksum functions
      --cmdhelp=cmd         Print command help, "all" for all of them
      --enghelp=engine      Print ioengine help, or list available ioengines
      --enghelp=engine,cmd  Print help for an ioengine cmd
      --showcmd             Turn a job file into command line options
      --eta=when            When ETA estimate should be printed
                            May be "always", "never" or "auto"
      --eta-newline=t       Force a new line for every 't' period passed
      --status-interval=t   Force full status dump every 't' period passed
      --readonly            Turn on safety read-only checks, preventing writes
      --section=name        Only run specified section in job file, multiple sections can be specified         
      --alloc-size=kb       Set smalloc pool to this size in kb (def 16384)
      --warnings-fatal      Fio parser warnings are fatal
      --max-jobs=nr         Maximum number of threads/processes to support     
      --server=args         Start a backend fio server
      --daemonize=pidfile   Background fio server, write pid to file
      --client=hostname     Talk to remote backend(s) fio server at hostname   
      --remote-config=file  Tell fio server to load this local job file
      --idle-prof=option    Report cpu idleness on a system or percpu basis  
                            (option=system,percpu) or run unit work
                            calibration only (option=calibrate)
      --inflate-log=log     Inflate and output compressed log
      --trigger-file=file   Execute trigger cmd when file exists
      --trigger-timeout=t   Execute trigger at this time
      --trigger=cmd         Set this command as local trigger
      --trigger-remote=cmd  Set this command as remote trigger
      --aux-path=path       Use this path for fio state generated files

    Fio was written by Jens Axboe <axboe@kernel.dk> 

  • Hi Bin,

    I don't know why I cannot insert a </code > or attachment.  Here is the script:

    ---------------------

    DURATION=60
    LOOPS=2880
    TEST_DIR="/usrdata/fio_test"

    mkdir -p $TEST_DIR

    for loop in $(seq 1 $LOOPS); do
    echo "=== Loop $loop/$LOOPS - $(date) ==="

    fio --name=concurrent \
    --directory=$TEST_DIR \
    --rw=randrw \
    --rwmixread=70 \
    --bs=4k \
    --size=200M \
    --numjobs=4 \
    --runtime=$DURATION \
    --group_reporting \
    --output=/tmp/fio_loop_$loop.json \
    --output-format=json

    if grep -q '"error":' /tmp/fio_loop_$loop.json; then
    echo "Error detected in loop $loop"
    fi

    rm -f $TEST_DIR/concurrent*

    sleep 10
    done

    echo "=== Test complete - $(date) ==="

    -----------------------

    I uses fio v3.41.    Options such as ---name, -rw, --size, --bs, --directory, --rwmixread ,  are a shortcut for fio job file.  they are not listed in the fio help but valid. Try to see if you can run this script with the fio in SDK9.3.

  • Hi Thomas,

    Thanks for sharing the script, I am able to run it without modification on Beaglebone Black. It has been running for about 10 hours by now for ~300 iterations without failures. it takes about 2 minutes to run for one loop.

  • Hi Bin,
    Thanks for your effort.
    I update you with some new findings,
    we have two EMMC manufactures, HikSemi and Micron.
    the issue has not ever happened on Micron card.

    For HikSemi card, I found that the issue happens easily if I upgraded the image from v3.12 via FOTA  similar way.
    It is quite hard to replicate if I re-flash the EMMC image from scratch.
    Then I did some investigation and find if the filesystem is not partition 4KBytes aligned, the issue is quite easily to replicate.
    for example, I used the following table,
    ----
    parted -s /dev/mmcblk1 mklabel msdos
    parted -s /dev/mmcblk1 mkpart primary fat32 -- 2048s 145407s
    parted -s /dev/mmcblk1 set 1 boot on
    parted -s /dev/mmcblk1 mkpart primary ext4 -- 145409s -1s
    ---
    the issue happened in 5 min stress testing.

    if 2nd partition begins from 145408 sector, testing for more than 30 hours, it's still ok.

    For Micon card, it's still ok even the partition is not aligned with 4K.

    I wonder if this might bring some new clues.

    P.S.
    Many devices on field are installed with old v3.12 image. the partition table is not 4K aligned.
    so we are not able to change the table via software upgrade way. it's not feasible for us to manually re-flash the device from scratch one by one.

    the partition table of old image is:
    Device Boot Start End Sectors Size Id Type
    /dev/mmcblk1p1 * 63 144584 144522 70.6M c W95 FAT32 (LBA)
    /dev/mmcblk1p2 144585 16803989 16659405 7.9G 83 Linux
    /dev/mmcblk1p3 16803990 17302004 498015 243.2M c W95 FAT32 (LBA)

  • Hi Thomas,

    Thanks for the update, great progress on your side!

    Now it seems the problem is a combination of the kernel MMC drivers with the specific MMC device. I feel like you would need to debug the issue with the MMC device vendor.

    Since you mentioned the issue only happens if the partition is not 4KB aligned, I am wondering if the eMMC device has any issue in handling multi-block access. You can check if the current eMMC read uses multi-block read. If so, you might try to change the kernel driver to use single-block read to see if the issue happens.

  • Hi Bin,

    Now it seems the problem is a combination of the kernel MMC drivers with the specific MMC device. I feel like you would need to debug the issue with the MMC device vendor.

    I am co-working with the vendor.

    Since you mentioned the issue only happens if the partition is not 4KB aligned, I am wondering if the eMMC device has any issue in handling multi-block access. You can check if the current eMMC read uses multi-block read. If so, you might try to change the kernel driver to use single-block read to see if the issue happens

    yes. the read and write are in multiple-block way with CMD25/CMD18.  I tried single block r/w by adding  SDHCI_QUIRK_NO_MULTIBLOCK quirk.  fio test cannot run in single block way.  fio blocks with --numjobs=X if X is greater than 1.  so I gave up this route.

  • I am co-working with the vendor.

    Okay, please keep us posted.

  • Hi Bin,

    emmc vendor did some logic analysis. I attached the report from them. please help to check it to see if we can have some further troubleshooting. 

     LA_timeout_err.pdf


  • Hi Thomas,

    I am not sure how the report helps in debugging, but tried to move back to omap_hsmmc.c driver in kernel v6.1.119 and your fio test seems running fine on my Beaglebone Black board. The test has been running for 8 loops now without any issue.

    I took TI kernel on git.ti.com using git tag 09.03.06, which corresponding to the SDK 9.3 kernel, and applied the following kernel dts patch to switch from sdhci-omap to omap_hsmmc driver:

    diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi
    index ca58d4c6ebfa..ef22862e9bc6 100644
    --- a/arch/arm/boot/dts/am33xx-l4.dtsi
    +++ b/arch/arm/boot/dts/am33xx-l4.dtsi
    @@ -1514,7 +1514,7 @@ SYSC_OMAP2_SOFTRESET |
                            ranges = <0x0 0x60000 0x1000>;
     
                            mmc1: mmc@0 {
    -                               compatible = "ti,am335-sdhci";
    +                               compatible = "ti,am33xx-hsmmc";
                                    ti,needs-special-reset;
                                    dmas = <&edma 24 0>, <&edma 25 0>;
                                    dma-names = "tx", "rx";
    @@ -2000,7 +2000,7 @@ SYSC_OMAP2_SOFTRESET |
                            ranges = <0x0 0xd8000 0x1000>;
     
                            mmc2: mmc@0 {
    -                               compatible = "ti,am335-sdhci";
    +                               compatible = "ti,am33xx-hsmmc";
                                    ti,needs-special-reset;
                                    dmas = <&edma 2 0
                                            &edma 3 0>;
    diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
    index 42f282e55d65..736a5ae55584 100644
    --- a/arch/arm/boot/dts/am33xx.dtsi
    +++ b/arch/arm/boot/dts/am33xx.dtsi
    @@ -327,7 +327,7 @@ SYSC_OMAP2_SOFTRESET |
                            ranges = <0x0 0x47810000 0x1000>;
     
                            mmc3: mmc@0 {
    -                               compatible = "ti,am335-sdhci";
    +                               compatible = "ti,am33xx-hsmmc";
                                    ti,needs-special-reset;
                                    interrupts = <29>;
                                    reg = <0x0 0x1000>;

    The kernel boot log shows omap_hsmmc driver is used:

      root@am335x-evm:~# dmesg| grep mmc                                              
      [    0.740130] omap_hsmmc 481d8000.mmc: RX DMA channel request failed           
      [    2.884160] omap_hsmmc 48060000.mmc: Got CD GPIO                             
      [    2.891725] omap_hsmmc 481d8000.mmc: Initial signal voltage of 3.3v          
      [    2.903196] omap_hsmmc 48060000.mmc: Initial signal voltage of 3.3v          
      [    2.972949] mmc1: new high speed MMC card at address 0001                    
      [    2.980961] mmcblk1: mmc1:0001 M62704 3.56 GiB                               
      [    2.988838]  mmcblk1: p1                                                     
      [    2.992496] mmcblk1boot0: mmc1:0001 M62704 2.00 MiB                          
      [    3.000268] mmcblk1boot1: mmc1:0001 M62704 2.00 MiB                          
      [    3.007339] mmcblk1rpmb: mmc1:0001 M62704 512 KiB, chardev (243:0)           
      [    3.018483] mmc0: host does not support reading read-only switch, assuming write-enable
      [    3.038637] mmc0: new high speed SDHC card at address aaaa                   
      [    3.046467] mmcblk0: mmc0:aaaa SC16G 14.8 GiB                                
      [    3.060502]  mmcblk0: p1 p2                                                  
      [   37.042934] EXT4-fs (mmcblk1p1): mounted filesystem with ordered data mode. Quota mode: disabled.
      [   37.056543] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: disabled.

  • Hi Bin,

    1. we are using the LINUX-RT version SDK.  

    2. if we are going to switch to old driver, we need fix the following issues while we tested for several hours before.

    Not sure if you can reproduce it in beaglebone.

     

    issue A:  the kernel reports a BUG type Oops in omap_hsmmc_request(). it hit one of the two BUG_ON in this function.

    BUG_ON(host->req_in_progress);
    BUG_ON(host->dma_ch != -1);
    

    Issue B:mmc1: Card stuck being busy! __mmc_poll_for_busy.   
    [BEGIN] 2026/4/24 14:33:43
    [ 1336.013034] cpsw 4a100000.ethernet eth0: Link is Down90,w=285 IOPS][eta 09h:39m:50s]
    [30141.766432] mmc1: Card stuck being busy! __mmc_poll_for_busy
    [30141.847370] mmc1: cache flush error -110
    [30143.026181] mmc1: Card stuck being busy! __mmc_poll_for_busy
    [30143.032294] mmc1: tried to HW reset card, got error -110
    [30143.037945] mmcblk1: recovery failed!
    [30143.041709] I/O error, dev mmcblk1, sector 9226257 op 0x1:(WRITE) flags 0x8800 phys_seg 1 prio class 2
    fio: io_u error on file /usrdata//mixed.0.0: Input/output error: write offset=883331072, buflen=4096
    fio: pid=1921, err=5/file:io_u.c:2008, func=io_u error, error=Input/output error



  • Hi Thomas,

    Do both issues (A & B) all take hours to happen? or any of them would happen sooner?

  • Hi Bin,

    Both take hours to happen.   These two issues occurred in two separate tests.

  • Hi Thomas,

    It sounds like the omap_hsmmc driver has some issues with the new kernel. My test with your fio script on omap_hsmmc driver also shows out of memory issue after running overnight.

    I am in the middle of another issue debug and didn't get time to think about your issue today. Please allow me a couple days to figure what to look at next.

  • Hi Bin,

    any update about this issue?

  • Hi Thomas,

    I have a new customer escalation just popped up and didn't have time look into this eMMC problem. But my idea was to enable the eMMC CMD trace in the old and new MMC drivers and compare the difference. Can you please do that?

  • Hi  Bin,

    I had done it before. Here I attach the result.

    new_cmd.cap:  the new driver with quirk SDHCI_QUIRK2_HOST_NO_CMD23

    old_cmd.cap: the old driver in kernel v3.12.

    cmd_capture.zip

  • Hi Thomas,

    Are the logs for running your foi test script?

    How can I map both logs? Are they all captured from the beginning of the test?

  • Hi Bin,

    yes. both are captured while fio test.

    it's not feasible to map these logs as fio is testing via file system. 

    we can only get an overview of the command sequences and which types of command are used.

    but it's not possible to compare commands one by one, because file system and blk layer would rearrange and schedule the lower layer transactions.

  • Hi Thomas,

    I don't have any other idea to debug the issue, if not look into every single MMC CMD transaction, including its response, especially on those close to the point the issue happens.

  • Hi Bin,

    during multiple write transactions, DMA engine transfer 1 block, after block data transfer completes through the interface, then cards will response the crc status, host should trigger the next block transfer.  but from the logic analysis, the host didn't continue the next block.   
    DMA process is broken?  or if the crc status is not regconized by host controller, might it  trigger an error interrupt?

    what will cause no any interrupt generate?

  • Hi Thomas,

    I am unable to tell, you would have to debug the kernel to see where the process breaks.

  • Hi  Bin,

    from the register dump after timeout happens, the PRESENT_STATE(Present: 0x01f70506) show that DAT0 is busy.  but from the waveform, DAT0 has been released to high.  

    how the controller hardware detect DAT0 signal and latch the register value? is it a level or edge trigger of the signal ?