diff options
author | Ulf Hansson <ulf.hansson@linaro.org> | 2019-06-17 23:51:31 +0200 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2019-07-10 13:18:56 +0200 |
commit | 7fbbe725378d62c30a076742a60a7e1812a2515a (patch) | |
tree | 3e86c749bc0d3812520ecee9467d2dd8f95e144d /drivers/mmc/core | |
parent | ee550947a0d696f7ddfe88b204d4eae7f879b583 (diff) | |
download | linux-7fbbe725378d62c30a076742a60a7e1812a2515a.tar.gz linux-7fbbe725378d62c30a076742a60a7e1812a2515a.tar.bz2 linux-7fbbe725378d62c30a076742a60a7e1812a2515a.zip |
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: ca8971ca5753 ("mmc: dw_mmc: Prevent runtime PM suspend when SDIO IRQs are enabled")
Tested-by: Douglas Anderson <dianders@chromium.org>
Diffstat (limited to 'drivers/mmc/core')
-rw-r--r-- | drivers/mmc/core/sdio.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c index 29f86c1e9923..a9bfcae8db5b 100644 --- a/drivers/mmc/core/sdio.c +++ b/drivers/mmc/core/sdio.c @@ -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) |