Thread (10 messages) 10 messages, 2 authors, 2024-10-20

Re: [PATCH 5/6] phy: core: Add missing of_node_put() in of_phy_provider_lookup()

From: Zijun Hu <hidden>
Date: 2024-10-20 08:18:13
Also in: linux-pci, linux-phy, lkml, stable

On 2024/10/20 15:23, Christophe JAILLET wrote:
Le 20/10/2024 à 07:27, Zijun Hu a écrit :
quoted
From: Zijun Hu <redacted>
[snip]
quoted
---
  drivers/phy/phy-core.c | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
index 967878b78797..24bd619a33dd 100644
--- a/drivers/phy/phy-core.c
+++ b/drivers/phy/phy-core.c
@@ -143,10 +143,11 @@ static struct phy_provider
*of_phy_provider_lookup(struct device_node *node)
      list_for_each_entry(phy_provider, &phy_provider_list, list) {
          if (phy_provider->dev->of_node == node)
              return phy_provider;
-
          for_each_child_of_node(phy_provider->children, child)
-            if (child == node)
+            if (child == node) {
+                of_node_put(child);
                  return phy_provider;
+            }
Hi,

Maybe for_each_child_of_node_scoped() to slightly simplify things at the
same time?
thank you for code review.

it does not use _scoped() since for_each_child_of_node() usage here is
very simple and only has one early exit, _scoped() normally is for
complex case.

i maybe use _scoped() in next revision if one more reviewer also prefers
it.

thank you.
quoted
      }
        return ERR_PTR(-EPROBE_DEFER);
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help