diff options
| -rw-r--r-- | drivers/base/power/runtime.c | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c index 4c7055009bd6..b74690418504 100644 --- a/drivers/base/power/runtime.c +++ b/drivers/base/power/runtime.c @@ -1506,11 +1506,16 @@ int pm_runtime_force_resume(struct device *dev)  		goto out;  	} -	ret = callback(dev); +	ret = pm_runtime_set_active(dev);  	if (ret)  		goto out; -	pm_runtime_set_active(dev); +	ret = callback(dev); +	if (ret) { +		pm_runtime_set_suspended(dev); +		goto out; +	} +  	pm_runtime_mark_last_busy(dev);  out:  	pm_runtime_enable(dev);  | 
