Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e1a6892 authored by Adrian Hunter's avatar Adrian Hunter Committed by Chris Ball
Browse files

mmc: sdhci: Allow for long command timeouts



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: default avatarAdrian Hunter <adrian.hunter@intel.com>
Signed-off-by: default avatarChris Ball <chris@printf.net>
parent e5624054
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -1018,7 +1018,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;