|
@@ -180,8 +180,10 @@ int dt_init_idle_driver(struct cpuidle_driver *drv,
|
|
if (!state_node)
|
|
if (!state_node)
|
|
break;
|
|
break;
|
|
|
|
|
|
- if (!of_device_is_available(state_node))
|
|
|
|
|
|
+ if (!of_device_is_available(state_node)) {
|
|
|
|
+ of_node_put(state_node);
|
|
continue;
|
|
continue;
|
|
|
|
+ }
|
|
|
|
|
|
if (!idle_state_valid(state_node, i, cpumask)) {
|
|
if (!idle_state_valid(state_node, i, cpumask)) {
|
|
pr_warn("%s idle state not valid, bailing out\n",
|
|
pr_warn("%s idle state not valid, bailing out\n",
|