[PATCH 10/11] ASoC: rsnd: add missing of_node_put

Julia Lawall posted 11 patches 1 year ago
[PATCH 10/11] ASoC: rsnd: add missing of_node_put
Posted by Julia Lawall 1 year ago
for_each_child_of_node performs an of_node_get on each
iteration, so a break out of the loop requires an
of_node_put.

This was done using the Coccinelle semantic patch
iterators/for_each_child.cocci

Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>

---
 sound/soc/sh/rcar/core.c |    1 +
 1 file changed, 1 insertion(+)

diff -u -p a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
@@ -1303,6 +1303,7 @@ audio_graph:
 		if (i >= RSND_MAX_COMPONENT) {
 			dev_info(dev, "reach to max component\n");
 			of_node_put(node);
+			of_node_put(ports);
 			break;
 		}
 	}
Re: [PATCH 10/11] ASoC: rsnd: add missing of_node_put
Posted by Kuninori Morimoto 1 year ago
Hi Julia

Thank you for the patch

> for_each_child_of_node performs an of_node_get on each
> iteration, so a break out of the loop requires an
> of_node_put.
> 
> This was done using the Coccinelle semantic patch
> iterators/for_each_child.cocci
> 
> Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
> 
> ---
>  sound/soc/sh/rcar/core.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff -u -p a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
> --- a/sound/soc/sh/rcar/core.c
> +++ b/sound/soc/sh/rcar/core.c
> @@ -1303,6 +1303,7 @@ audio_graph:
>  		if (i >= RSND_MAX_COMPONENT) {
>  			dev_info(dev, "reach to max component\n");
>  			of_node_put(node);
> +			of_node_put(ports);
>  			break;
>  		}
>  	}

Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

I noticed that existing "of_node_put(node)" itself is not needed.
We can remove it, and I will post the patch next week.


Thank you for your help !!

Best regards
---
Kuninori Morimoto
Re: [PATCH 10/11] ASoC: rsnd: add missing of_node_put
Posted by Julia Lawall 1 year ago

On Fri, 8 Sep 2023, Kuninori Morimoto wrote:

>
> Hi Julia
>
> Thank you for the patch
>
> > for_each_child_of_node performs an of_node_get on each
> > iteration, so a break out of the loop requires an
> > of_node_put.
> >
> > This was done using the Coccinelle semantic patch
> > iterators/for_each_child.cocci
> >
> > Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
> >
> > ---
> >  sound/soc/sh/rcar/core.c |    1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff -u -p a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
> > --- a/sound/soc/sh/rcar/core.c
> > +++ b/sound/soc/sh/rcar/core.c
> > @@ -1303,6 +1303,7 @@ audio_graph:
> >  		if (i >= RSND_MAX_COMPONENT) {
> >  			dev_info(dev, "reach to max component\n");
> >  			of_node_put(node);
> > +			of_node_put(ports);
> >  			break;
> >  		}
> >  	}
>
> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
>
> I noticed that existing "of_node_put(node)" itself is not needed.
> We can remove it, and I will post the patch next week.

Oops, indeed the better way to make the change would have been to convert
node to ports.  It's just a copy paste error with respect to the code
above the audio_graph label.  Do you want me to send this change instead?

julia

>
>
> Thank you for your help !!
>
> Best regards
> ---
> Kuninori Morimoto
>
Re: [PATCH 10/11] ASoC: rsnd: add missing of_node_put
Posted by Kuninori Morimoto 1 year ago
Hi Julia, Mark

Thank you for your feedback

> > I noticed that existing "of_node_put(node)" itself is not needed.
> > We can remove it, and I will post the patch next week.
> 
> Oops, indeed the better way to make the change would have been to convert
> node to ports.  It's just a copy paste error with respect to the code
> above the audio_graph label.  Do you want me to send this change instead?

No problem
"add missing no_node_put()" and "remove unneeded no_node_put()" are
mutual independent, it can be separate patch, I think.


Thank you for your help !!

Best regards
---
Kuninori Morimoto