Hi Andreas, 2014-04-30 14:23 GMT+02:00 Andreas Müller <schnitzeltony@xxxxxxxxxxxxxx>: > On Mon, Apr 28, 2014 at 9:40 AM, Andreas Fenkart <afenkart@xxxxxxxxx> wrote: >> @@ -2201,11 +2346,16 @@ static int omap_hsmmc_suspend(struct device *dev) >> pm_runtime_get_sync(host->dev); >> >> if (!(host->mmc->pm_flags & MMC_PM_KEEP_POWER)) { >> - omap_hsmmc_disable_irq(host); >> + OMAP_HSMMC_WRITE(host->base, ISE, 0); >> + OMAP_HSMMC_WRITE(host->base, IE, 0); >> + OMAP_HSMMC_WRITE(host->base, STAT, STAT_CLEAR); >> OMAP_HSMMC_WRITE(host->base, HCTL, >> OMAP_HSMMC_READ(host->base, HCTL) & ~SDBP); >> } >> >> + if (host->wake_irq && !(host->mmc->pm_flags & MMC_PM_WAKE_SDIO_IRQ)) >> + disable_irq(host->wake_irq); >> + I think it says, "Do you want to wake up from deep power states when an SDIO IRQ is pending" Will try to bring this more to the point >> if (host->dbclk) >> clk_disable_unprepare(host->dbclk); >> >> @@ -2231,6 +2381,9 @@ static int omap_hsmmc_resume(struct device *dev) >> >> omap_hsmmc_protect_card(host); >> >> + if (host->wake_irq & !(host->mmc->pm_flags & MMC_PM_WAKE_SDIO_IRQ)) you're right should be '&&' >> + enable_irq(host->wake_irq); >> + >> pm_runtime_mark_last_busy(host->dev); >> pm_runtime_put_autosuspend(host->dev); >> return 0; > Maybe I misunderstand something here but shouldn't > disable_irq/enable_irq be swapped here? /Andreas -- 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