[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1352379984-18381-24-git-send-email-dragos.tatulea@intel.com>
Date: Thu, 8 Nov 2012 15:06:21 +0200
From: dragos.tatulea@...el.com
To: linux-kernel@...r.kernel.org, linux-mmc@...r.kernel.org,
cjb@...top.org
Cc: kirill.shutemov@...ux.intel.com, irina.tirdea@...el.com,
octavian.purdila@...el.com, tony.luck@...el.com,
keescook@...omium.org, dragos.tatulea@...il.com,
Adrian Hunter <adrian.hunter@...el.com>
Subject: [PATCH v2 23/26] mmc: sdhci: panic write: resume suspended host
From: Adrian Hunter <adrian.hunter@...el.com>
Resume host when entering panic mode.
Signed-off-by: Adrian Hunter <adrian.hunter@...el.com>
Signed-off-by: Irina Tirdea <irina.tirdea@...el.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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists