--- drivers/base/power/runtime.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/base/power/runtime.c +++ b/drivers/base/power/runtime.c @@ -916,7 +916,7 @@ int __pm_runtime_set_status(struct devic if (status == RPM_SUSPENDED) { /* It always is possible to set the status to 'suspended'. */ - if (parent) { + if (parent && atomic_read(&dev->power.usage_count) == 0) { atomic_add_unless(&parent->power.child_count, -1, 0); notify_parent = !parent->power.ignore_children; }