mmc: core: Do not leave the block driver in a suspended state
authorAdrian Hunter <adrian.hunter@intel.com>
Tue, 21 Nov 2017 13:42:29 +0000 (15:42 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 5 Dec 2017 10:24:33 +0000 (11:24 +0100)
commit ebe7dd45cf49e3b49cacbaace17f9f878f21fbea upstream.

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>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mmc/core/bus.c

index c64266f5a399b3c6ee2535d2b8539460a75ed5e2..60ebe5b4500b06400155d14f776f89d689377cea 100644 (file)
@@ -155,6 +155,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;
 }