diff options
| author | Sahitya Tummala <stummala@codeaurora.org> | 2017-04-24 16:14:17 +0530 |
|---|---|---|
| committer | Veerabhadrarao Badiganti <vbadigan@codeaurora.org> | 2017-09-04 12:56:15 +0530 |
| commit | 55aa8417cad73e5f5609ebea582767b60595a508 (patch) | |
| tree | cc3297df53c5c51923a242b0093fc7fc71fba91e | |
| parent | 2c76acdba2368ec49b20c5b383275597ec505175 (diff) | |
mmc: sdhci: Fix SDHCI_QUIRK2_IGNORE_DATATOUT_FOR_R1BCMD handling
If this quirk is set, then data timeout interrupt must not be
handled for R1B commands, as those commands may need larger
timeout value (larger than max timeout that controller can handle).
Change-Id: I7453b1914add21b47393b3eb1578d88e72da7406
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
| -rw-r--r-- | drivers/mmc/host/sdhci.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 0033fea0a800..f9d80b3bbcf9 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -3041,11 +3041,6 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask) * above in sdhci_cmd_irq(). */ if (host->cmd && (host->cmd->flags & MMC_RSP_BUSY)) { - if (intmask & SDHCI_INT_DATA_TIMEOUT) { - host->cmd->error = -ETIMEDOUT; - tasklet_schedule(&host->finish_tasklet); - return; - } if (intmask & SDHCI_INT_DATA_END) { /* * Some cards handle busy-end interrupt @@ -3061,6 +3056,11 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask) if (host->quirks2 & SDHCI_QUIRK2_IGNORE_DATATOUT_FOR_R1BCMD) return; + if (intmask & SDHCI_INT_DATA_TIMEOUT) { + host->cmd->error = -ETIMEDOUT; + tasklet_schedule(&host->finish_tasklet); + return; + } } pr_err("%s: Got data interrupt 0x%08x even " |
