]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mmc: sdio: Drop powered-on re-init at runtime resume and HW reset
authorUlf Hansson <ulf.hansson@linaro.org>
Mon, 17 Jun 2019 21:51:31 +0000 (23:51 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 10 Jul 2019 11:18:56 +0000 (13:18 +0200)
To use the so called powered-on re-initialization of an SDIO card, the
power to the card must obviously have stayed on. If not, the initialization
will simply fail.

In the runtime suspend case, the card is always powered off. Hence, let's
drop the support for powered-on re-initialization during runtime resume, as
it doesn't make sense.

Moreover, during a HW reset, the point is to cut the power to the card and
then do fresh re-initialization. Therefore drop the support for powered-on
re-initialization during HW reset.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Fixes: ca8971ca5753 ("mmc: dw_mmc: Prevent runtime PM suspend when SDIO IRQs are enabled")
Tested-by: Douglas Anderson <dianders@chromium.org>
drivers/mmc/core/sdio.c

index 29f86c1e99239f7d8d2ef602019cb596a9a986ff..a9bfcae8db5bfa46827c5953a9f17b698c2188df 100644 (file)
@@ -1028,13 +1028,7 @@ static int mmc_sdio_resume(struct mmc_host *host)
 
 static int mmc_sdio_power_restore(struct mmc_host *host)
 {
-       int ret;
-
-       ret = mmc_sdio_reinit_card(host, mmc_card_keep_power(host));
-       if (!ret && host->sdio_irqs)
-               mmc_signal_sdio_irq(host);
-
-       return ret;
+       return mmc_sdio_reinit_card(host, 0);
 }
 
 static int mmc_sdio_runtime_suspend(struct mmc_host *host)