Hi Grant, On Tue, Mar 08 2011, Grant Grundler wrote: > Save and restore SDHCI interrupt mask during suspend/resume. > Enables ARM Tegra2 board to suspend/resume. > > Signed-off-by: Venkat Rao <vrao@xxxxxxxxxxxx> > Reviewed-by: Olof Johansson <olofj@xxxxxxxxxxxx> > Reviewed-by: Grant Grundler <grundler@xxxxxxxxxxxx> > --- > drivers/mmc/host/sdhci.c | 5 +++++ > include/linux/mmc/sdhci.h | 2 ++ > 2 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c > index 3c6358f..68d2e36 100644 > --- a/drivers/mmc/host/sdhci.c > +++ b/drivers/mmc/host/sdhci.c > @@ -1654,6 +1654,8 @@ int sdhci_suspend_host(struct sdhci_host *host, pm_message_t state) > if (mmc->card && (mmc->card->type != MMC_TYPE_SDIO)) > ret = mmc_suspend_host(host->mmc); > > + /* Save the original intmask to restore later */ > + host->save_intmask = sdhci_readl(host, SDHCI_INT_ENABLE); > sdhci_mask_irqs(host, SDHCI_INT_ALL_MASK); > > if (host->vmmc) > @@ -1695,6 +1697,9 @@ int sdhci_resume_host(struct sdhci_host *host) > > sdhci_enable_card_detection(host); > > + /* Restore the original intmask */ > + sdhci_unmask_irqs(host, host->save_intmask); > + > return ret; > } I'm okay with the patch in principle, but it doesn't apply to any mainline kernel as far as I can see -- we've never called sdhci_mask_irqs() in the suspend path, which is context in this patch. Maybe I'm missing something? If not, it would be good to know whether the patch is needed on a mainline kernel, as well as posting a rebased version. Thanks, - Chris. -- Chris Ball <cjb@xxxxxxxxxx> <http://printf.net/> One Laptop Per Child -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html