for_each_child_of_node_scoped() decrements the reference count of the
nod after each iteration. Assigning it without incrementing the refcount
to a dynamically allocated platform device will result in a double put
in platform_device_release(). Add the missing call to of_node_get().

Cc: [email protected]
Fixes: 3e4d109ee8fc ("pmdomain: imx: gpc: Simplify with scoped for each OF 
child loop")
Signed-off-by: Bartosz Golaszewski <[email protected]>
---
 drivers/pmdomain/imx/gpc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pmdomain/imx/gpc.c b/drivers/pmdomain/imx/gpc.c
index 
de695f1944ab31de3d37ce8000d0c577579d64f9..42e50c9b4fb9ffb96a20a462d4eb5168942a893c
 100644
--- a/drivers/pmdomain/imx/gpc.c
+++ b/drivers/pmdomain/imx/gpc.c
@@ -487,7 +487,7 @@ static int imx_gpc_probe(struct platform_device *pdev)
                        domain->ipg_rate_mhz = ipg_rate_mhz;
 
                        pd_pdev->dev.parent = &pdev->dev;
-                       pd_pdev->dev.of_node = np;
+                       pd_pdev->dev.of_node = of_node_get(np);
                        pd_pdev->dev.fwnode = of_fwnode_handle(np);
 
                        ret = platform_device_add(pd_pdev);

-- 
2.47.3


Reply via email to