Merge "mmc: bus: Handle error in case bus_ops suspend fails"

This commit is contained in:
Linux Build Service Account 2017-03-09 17:21:30 -08:00 committed by Gerrit - the friendly Code Review server
commit 0b7d42a677

View file

@ -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;
}