summaryrefslogtreecommitdiff
path: root/drivers/base/power/runtime.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/power/runtime.c')
-rw-r--r--drivers/base/power/runtime.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index c0f5a9f89299..e772e45d30f3 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -1460,14 +1460,19 @@ int pm_runtime_barrier(struct device *dev)
}
EXPORT_SYMBOL_GPL(pm_runtime_barrier);
-void pm_runtime_block_if_disabled(struct device *dev)
+bool pm_runtime_block_if_disabled(struct device *dev)
{
+ bool ret;
+
spin_lock_irq(&dev->power.lock);
- if (dev->power.disable_depth && dev->power.last_status == RPM_INVALID)
+ ret = dev->power.disable_depth && dev->power.last_status == RPM_INVALID;
+ if (ret)
dev->power.last_status = RPM_BLOCKED;
spin_unlock_irq(&dev->power.lock);
+
+ return ret;
}
void pm_runtime_unblock(struct device *dev)