diff --git a/drivers/of/of_numa.c b/drivers/of/of_numa.c index 625b0573e5f8db57a84b39e4f5dcfe6944ab2f0e..0d7459bd31f05e5ce7c8b851ef99825bb03574bd 100644 --- a/drivers/of/of_numa.c +++ b/drivers/of/of_numa.c @@ -158,8 +158,6 @@ int of_node_to_nid(struct device_node *device) np = of_node_get(device); while (np) { - struct device_node *parent; - r = of_property_read_u32(np, "numa-node-id", &nid); /* * -EINVAL indicates the property was not found, and @@ -170,9 +168,7 @@ int of_node_to_nid(struct device_node *device) if (r != -EINVAL) break; - parent = of_get_parent(np); - of_node_put(np); - np = parent; + np = of_get_next_parent(np); } if (np && r) pr_warn("NUMA: Invalid \"numa-node-id\" property in node %s\n",