[U-Boot] [PATCH 1/2] mmc: dw_mmc: Increase timeout to 20 seconds
Marek Vasut
marex at denx.de
Fri Aug 28 23:55:17 CEST 2015
On Friday, August 28, 2015 at 03:50:20 PM, Lukasz Majewski wrote:
> 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 - 20 seconds - takes into account the situation when SD card
> triggers internal clean up. Such process may take more than 10 seconds on
> some cards.
What happens if you pull the SD card out of the slot during such a process?
Also, where did you find out there is such "cleanup" mechanism please ?
> Signed-off-by: Lukasz Majewski <l.majewski at samsung.com>
> Cc: Marek Vasut <marex at denx.de>
> Cc: Pantelis Antoniou <panto at antoniou-consulting.com>
> Cc: Tom Rini <trini at konsulko.com>
> ---
> 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 77b87e0..21a92d2 100644
> --- a/drivers/mmc/dw_mmc.c
> +++ b/drivers/mmc/dw_mmc.c
> @@ -213,7 +213,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct
> mmc_cmd *cmd,
>
> if (data) {
> start = get_timer(0);
> - timeout = 1000;
> + timeout = 20000;
> for (;;) {
> mask = dwmci_readl(host, DWMCI_RINTSTS);
> /* Error during data transfer. */
Best regards,
Marek Vasut
More information about the U-Boot
mailing list