Hi Shimoda-san, thanks for the patches and for providing a test case. I was not able to reproduce the issue, though. I'll explain... > Note that this patch series is tested by using additional debug code [1], > because there is difficult to reproduce this issue. Before apply patch, > When I enabled CONFIG_DMA_API_DEBUG and CONFIG_DMA_API_DEBUG_SG, > I observed lacking dma unmapping on /sys/kernel/debug/dma-api/dump. > And then I confirmed the patch can fix the issue. So, I have this debug patch applied on top of mmc/next. I have the above CONFIG_ symbols enabled. I have _not_ applied your three patches which fix the issue. I mounted the eMMC and read a large file. I see the injected timeouts happening: [ 94.079560] renesas_sdhi_internal_dmac ee140000.sd: timeout waiting for SD bus idle [ 94.088668] renesas_sdhi_internal_dmac ee140000.sd: timeout waiting for SD bus idle [ 94.097727] renesas_sdhi_internal_dmac ee140000.sd: timeout waiting for SD bus idle [ 94.106768] renesas_sdhi_internal_dmac ee140000.sd: timeout waiting for SD bus idle [ 94.115848] renesas_sdhi_internal_dmac ee140000.sd: timeout waiting for SD bus idle [ 99.300589] renesas_sdhi_internal_dmac ee140000.sd: timeout waiting for hardware interrupt (CMD13) But I do not see any output from the DMA debug system about a missing unmapping. I expected that, though, because your fixes are not applied. The testfile could even be correctly checksummed after reading, just awfully slow, of course. Am I missing something? All the best, Wolfram