Loading drivers/mmc/core/bus.c +13 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,19 @@ static int mmc_bus_suspend(struct device *dev) if (mmc_bus_needs_resume(host)) return 0; ret = host->bus_ops->suspend(host); /* * bus_ops->suspend may fail due to some reason * In such cases if we return error to PM framework * from here without calling pm_generic_resume then mmc * request may get stuck since PM framework will assume * that mmc bus is not suspended (because of error) and * it won't call resume again. * * So in case of error call pm_generic_resume(). */ if (ret) pm_generic_resume(dev); return ret; } Loading Loading
drivers/mmc/core/bus.c +13 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,19 @@ static int mmc_bus_suspend(struct device *dev) if (mmc_bus_needs_resume(host)) return 0; ret = host->bus_ops->suspend(host); /* * bus_ops->suspend may fail due to some reason * In such cases if we return error to PM framework * from here without calling pm_generic_resume then mmc * request may get stuck since PM framework will assume * that mmc bus is not suspended (because of error) and * it won't call resume again. * * So in case of error call pm_generic_resume(). */ if (ret) pm_generic_resume(dev); return ret; } Loading