On Thu, May 21, 2026 at 10:36 AM Bartosz Golaszewski
<[email protected]> wrote:
>
> 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]>

Applied for fixes, thanks!

Kind regards
Uffe


> ---
>  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