On 13/05/24 05:47, Liming Sun wrote: Please cc linux-mmc mailing list. Others may be able to help or have similar issues. > I saw that Linux emmc/block has recovery mechanism, but somehow a path like below doesn’t seem to trigger it. > > [ 285.858838] mmc0: cache flush error -110 Cache flush error means any data in the cache will be lost. Generally, this is already unacceptable i.e. recovery from here is not a priority because we shouldn't get here. Also the file system may be corrupt, and there doesn't seem to be anything the mmc subsystem can do about that. > [ 285.862776] blk_update_request: I/O error, dev mmcblk0, sector 42002577 op 0x1:(WRITE) flags 0x29800 phys_seg 1 prio class 0 > [ 285.874006] XFS (mmcblk0p3): log I/O error -5 > [ 285.878369] XFS (mmcblk0p3): Log I/O Error Detected. Shutting down filesystem > [ 285.885489] XFS (mmcblk0p3): Please unmount the filesystem and rectify the problem(s) To recovery from here probably means unmount the file system fix it unbind and rebind the eMMC host controller > From the code, it might be called from mmc_blk_mq_issue_rq() à MMC_ISSUE_SYNC/REQ_OP_FLUSH à mmc_blk_issue_flush() which fails. > > Would it make sense to trigger emmc recovery for this path or any suggestion how to do it? Generally the priority would be preventing the cache flush error. To start with, identify what is causing it.