mmc: sdio: Drop powered-on re-init at runtime resume and HW reset

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: ca8971ca57 ("mmc: dw_mmc: Prevent runtime PM suspend when SDIO IRQs are enabled")
Tested-by: Douglas Anderson <dianders@chromium.org>
This commit is contained in:
Ulf Hansson 2019-06-17 23:51:31 +02:00
parent ee550947a0
commit 7fbbe72537

View File

@ -1028,13 +1028,7 @@ out:
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)