From: Adrian Hunter <adrian.hun...@intel.com>

Resume host when entering panic mode.

Signed-off-by: Adrian Hunter <adrian.hun...@intel.com>
Signed-off-by: Irina Tirdea <irina.tir...@intel.com>
---
 drivers/mmc/host/sdhci.c |   14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index ab3f5ce..496adc8 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -2231,6 +2231,10 @@ static void sdhci_panic_begin(struct mmc_host *mmc)
 {
        struct sdhci_host *host = mmc_priv(mmc);
 
+       if (host->runtime_suspended)
+               sdhci_runtime_resume_host(host);
+       else if (mmc->ios.vdd == 0)
+               sdhci_resume_host(host);
        sdhci_writel(host, 0, SDHCI_SIGNAL_ENABLE);
 }
 
@@ -2741,10 +2745,12 @@ int sdhci_resume_host(struct sdhci_host *host)
                        host->ops->enable_dma(host);
        }
 
-       ret = request_irq(host->irq, sdhci_irq, IRQF_SHARED,
-                         mmc_hostname(host->mmc), host);
-       if (ret)
-               return ret;
+       if (!mmc_am_panic_task(host->mmc)) {
+               ret = request_irq(host->irq, sdhci_irq, IRQF_SHARED,
+                                 mmc_hostname(host->mmc), host);
+               if (ret)
+                       return ret;
+       }
 
        if ((host->mmc->pm_flags & MMC_PM_KEEP_POWER) &&
            (host->quirks2 & SDHCI_QUIRK2_HOST_OFF_CARD_ON)) {
-- 
1.7.9.5

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

Reply via email to