aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Saenz Julienne <[email protected]>2020-04-20 14:01:01 +0200
committerRob Herring <[email protected]>2020-04-28 12:47:47 -0500
commited3655729182a59b9bef1b564c6fc2dcbbbe954e (patch)
treebe1d36f6c64fb93d1e020eb6d74404376bb37ede
parent8f88fad370bb0884f7f7217dea254b202df44716 (diff)
of: property: Fix create device links for all child-supplier dependencies
Upon adding a new device from a DT node, we scan its properties and its children's properties in order to create a consumer/supplier relationship between the device and the property provider. That said, it's possible for some of the node's children to be disabled, which will create links that'll never be fulfilled. To get around this, use the for_each_available_child_of_node() function instead of for_each_available_node() when iterating over the node's children. Fixes: d4387cd11741 ("of: property: Create device links for all child-supplier depencencies") Signed-off-by: Nicolas Saenz Julienne <[email protected]> Reviewed-by: Saravana Kannan <[email protected]> Signed-off-by: Rob Herring <[email protected]>
-rw-r--r--drivers/of/property.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/of/property.c b/drivers/of/property.c
index ee1bc267f975..9674b3cf500d 100644
--- a/drivers/of/property.c
+++ b/drivers/of/property.c
@@ -1298,7 +1298,7 @@ static int of_link_to_suppliers(struct device *dev,
if (of_link_property(dev, con_np, p->name))
ret = -ENODEV;
- for_each_child_of_node(con_np, child)
+ for_each_available_child_of_node(con_np, child)
if (of_link_to_suppliers(dev, child) && !ret)
ret = -EAGAIN;