Hi Chris

What about this one?

Regards
Adrian

On 14/11/13 10:16, Adrian Hunter wrote:
> The driver has a timer with a 10 second
> timeout to catch devices that stop responding.
> However it is possible for commands to take
> even longer than that.  Change the timer
> timeout to reflect the command timeout.
> 
> Signed-off-by: Adrian Hunter <adrian.hun...@intel.com>
> ---
>  drivers/mmc/host/sdhci.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index bd8a098..614a34d 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -1013,7 +1013,12 @@ void sdhci_send_command(struct sdhci_host *host, 
> struct mmc_command *cmd)
>               mdelay(1);
>       }
>  
> -     mod_timer(&host->timer, jiffies + 10 * HZ);
> +     timeout = jiffies;
> +     if (!cmd->data && cmd->cmd_timeout_ms > 9000)
> +             timeout += DIV_ROUND_UP(cmd->cmd_timeout_ms, 1000) * HZ + HZ;
> +     else
> +             timeout += 10 * HZ;
> +     mod_timer(&host->timer, timeout);
>  
>       host->cmd = cmd;
>  
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to