summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2017-11-21 14:42:29 +0100
committerUlf Hansson <ulf.hansson@linaro.org>2017-11-23 14:09:21 +0100
commitebe7dd45cf49e3b49cacbaace17f9f878f21fbea (patch)
tree89ec5e88bae52817df4196da94237d65acebc7cc /drivers/mmc
parentmmc: block: Check return value of blk_get_request() (diff)
downloadlinux-ebe7dd45cf49e3b49cacbaace17f9f878f21fbea.tar.xz
linux-ebe7dd45cf49e3b49cacbaace17f9f878f21fbea.zip
mmc: core: Do not leave the block driver in a suspended state
The block driver must be resumed if the mmc bus fails to suspend the card. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Cc: stable@vger.kernel.org # v3.19+ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/core/bus.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c
index a4b49e25fe96..7586ff2ad1f1 100644
--- a/drivers/mmc/core/bus.c
+++ b/drivers/mmc/core/bus.c
@@ -157,6 +157,9 @@ static int mmc_bus_suspend(struct device *dev)
return ret;
ret = host->bus_ops->suspend(host);
+ if (ret)
+ pm_generic_resume(dev);
+
return ret;
}