From: Ɓukasz Majewski Date: Fri, 25 Sep 2015 16:25:25 +0000 (+0200) Subject: mmc: dw_mmc: Increase timeout to 4 minutes (as in Linux kernel) X-Git-Tag: v2015.10-rc4~1 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=4d58e10e3e4900dbad3f44e65769092c631101cb;p=oweals%2Fu-boot.git mmc: dw_mmc: Increase timeout to 4 minutes (as in Linux kernel) The commit: d9dbb97be0e4a550457aec5f11afefb446169c90 "mmc: dw_mmc: Zap endless timeout" removed endless loop waiting for end of dw mmc transfer. For some workloads - dfu test @ Odroid XU3 (sending 8MiB file) - and SD cards (e.g. MicroSD Kingston 4GiB, Adata 4GiB) the default timeout is to short. The new value - 4 minutes (240 seconds) - is the same as the one used in Linux kernel driver. Such fix should be good enough until we come up with better fix for this issue. Signed-off-by: Lukasz Majewski Cc: Marek Vasut Cc: Pantelis Antoniou Cc: Tom Rini Tested-by: Przemyslaw Marczak --- diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c index a84c1e16d8..26d34ae5cc 100644 --- a/drivers/mmc/dw_mmc.c +++ b/drivers/mmc/dw_mmc.c @@ -214,7 +214,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, if (data) { start = get_timer(0); - timeout = 1000; + timeout = 240000; for (;;) { mask = dwmci_readl(host, DWMCI_RINTSTS); /* Error during data transfer. */