
Hi,
On 1/11/22 7:24 PM, hmz007 wrote:
Clearing the DTO interrupt should be unnecessary, and it would potentially result in never receiving this interrupt again.
Do power-on or reset from uboot for a while can reproduce the issue: dwmci_data_transfer: Timeout waiting for data! mmc_load_image_raw_sector: mmc block read error
Which board did you test? When you do power-on, is it reproduced every time?
Tested on NanoPi R4S with SanDisk Extreme PRO 32GB.
Fixes: 8cb9d3ed3a ("mmc: dw_mmc: Fixes data read when receiving DTO interrupt in FIFO mode") Signed-off-by: hmz007 hmz007@gmail.com
Could you change from your ID to your name?
Best Regards, Jaehoon Chung
drivers/mmc/dw_mmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c index a949dad574..8fa26b340b 100644 --- a/drivers/mmc/dw_mmc.c +++ b/drivers/mmc/dw_mmc.c @@ -168,7 +168,7 @@ static int dwmci_data_transfer(struct dwmci_host *host, struct mmc_data *data) if (data->flags == MMC_DATA_READ && (mask & (DWMCI_INTMSK_RXDR | DWMCI_INTMSK_DTO))) { dwmci_writel(host, DWMCI_RINTSTS,
DWMCI_INTMSK_RXDR | DWMCI_INTMSK_DTO);
DWMCI_INTMSK_RXDR); while (size) { ret = dwmci_fifo_ready(host, DWMCI_FIFO_EMPTY,