All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] clk: add missing of_node_put() in "assigned-clocks" property parsing
@ 2023-01-31  8:32 Clément Léger
  2023-02-20 11:44 ` Clément Léger
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Clément Léger @ 2023-01-31  8:32 UTC (permalink / raw)
  To: Sylwester Nawrocki, Michael Turquette, Stephen Boyd
  Cc: Clément Léger, Rob Herring, Frank Rowand, linux-clk,
	linux-kernel

When returning from of_parse_phandle_with_args(), the np member of the
of_phandle_args structure should be put after usage. Add missing
of_node_put() calls in both __set_clk_parents() and __set_clk_rates().

Fixes: 86be408bfbd8 ("clk: Support for clock parents and rates assigned from device tree")
Signed-off-by: Clément Léger <clement.leger@bootlin.com>
---
v2:
 - Add "Fixes"

 drivers/clk/clk-conf.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/clk-conf.c b/drivers/clk/clk-conf.c
index 2ef819606c41..1a4e6340f95c 100644
--- a/drivers/clk/clk-conf.c
+++ b/drivers/clk/clk-conf.c
@@ -33,9 +33,12 @@ static int __set_clk_parents(struct device_node *node, bool clk_supplier)
 			else
 				return rc;
 		}
-		if (clkspec.np == node && !clk_supplier)
+		if (clkspec.np == node && !clk_supplier) {
+			of_node_put(clkspec.np);
 			return 0;
+		}
 		pclk = of_clk_get_from_provider(&clkspec);
+		of_node_put(clkspec.np);
 		if (IS_ERR(pclk)) {
 			if (PTR_ERR(pclk) != -EPROBE_DEFER)
 				pr_warn("clk: couldn't get parent clock %d for %pOF\n",
@@ -48,10 +51,12 @@ static int __set_clk_parents(struct device_node *node, bool clk_supplier)
 		if (rc < 0)
 			goto err;
 		if (clkspec.np == node && !clk_supplier) {
+			of_node_put(clkspec.np);
 			rc = 0;
 			goto err;
 		}
 		clk = of_clk_get_from_provider(&clkspec);
+		of_node_put(clkspec.np);
 		if (IS_ERR(clk)) {
 			if (PTR_ERR(clk) != -EPROBE_DEFER)
 				pr_warn("clk: couldn't get assigned clock %d for %pOF\n",
@@ -93,10 +98,13 @@ static int __set_clk_rates(struct device_node *node, bool clk_supplier)
 				else
 					return rc;
 			}
-			if (clkspec.np == node && !clk_supplier)
+			if (clkspec.np == node && !clk_supplier) {
+				of_node_put(clkspec.np);
 				return 0;
+			}
 
 			clk = of_clk_get_from_provider(&clkspec);
+			of_node_put(clkspec.np);
 			if (IS_ERR(clk)) {
 				if (PTR_ERR(clk) != -EPROBE_DEFER)
 					pr_warn("clk: couldn't get clock %d for %pOF\n",
-- 
2.39.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] clk: add missing of_node_put() in "assigned-clocks" property parsing
  2023-01-31  8:32 [PATCH v2] clk: add missing of_node_put() in "assigned-clocks" property parsing Clément Léger
@ 2023-02-20 11:44 ` Clément Léger
  2023-03-14 16:45   ` Clément Léger
  2023-03-15  0:44 ` Stephen Boyd
  2023-03-29 20:55 ` Stephen Boyd
  2 siblings, 1 reply; 6+ messages in thread
From: Clément Léger @ 2023-02-20 11:44 UTC (permalink / raw)
  To: Sylwester Nawrocki, Michael Turquette, Stephen Boyd
  Cc: Rob Herring, Frank Rowand, linux-clk, linux-kernel

Le Tue, 31 Jan 2023 09:32:27 +0100,
Clément Léger <clement.leger@bootlin.com> a écrit :

Ping ?

> When returning from of_parse_phandle_with_args(), the np member of the
> of_phandle_args structure should be put after usage. Add missing
> of_node_put() calls in both __set_clk_parents() and __set_clk_rates().
> 
> Fixes: 86be408bfbd8 ("clk: Support for clock parents and rates assigned from device tree")
> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
> ---
> v2:
>  - Add "Fixes"
> 
>  drivers/clk/clk-conf.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/clk/clk-conf.c b/drivers/clk/clk-conf.c
> index 2ef819606c41..1a4e6340f95c 100644
> --- a/drivers/clk/clk-conf.c
> +++ b/drivers/clk/clk-conf.c
> @@ -33,9 +33,12 @@ static int __set_clk_parents(struct device_node *node, bool clk_supplier)
>  			else
>  				return rc;
>  		}
> -		if (clkspec.np == node && !clk_supplier)
> +		if (clkspec.np == node && !clk_supplier) {
> +			of_node_put(clkspec.np);
>  			return 0;
> +		}
>  		pclk = of_clk_get_from_provider(&clkspec);
> +		of_node_put(clkspec.np);
>  		if (IS_ERR(pclk)) {
>  			if (PTR_ERR(pclk) != -EPROBE_DEFER)
>  				pr_warn("clk: couldn't get parent clock %d for %pOF\n",
> @@ -48,10 +51,12 @@ static int __set_clk_parents(struct device_node *node, bool clk_supplier)
>  		if (rc < 0)
>  			goto err;
>  		if (clkspec.np == node && !clk_supplier) {
> +			of_node_put(clkspec.np);
>  			rc = 0;
>  			goto err;
>  		}
>  		clk = of_clk_get_from_provider(&clkspec);
> +		of_node_put(clkspec.np);
>  		if (IS_ERR(clk)) {
>  			if (PTR_ERR(clk) != -EPROBE_DEFER)
>  				pr_warn("clk: couldn't get assigned clock %d for %pOF\n",
> @@ -93,10 +98,13 @@ static int __set_clk_rates(struct device_node *node, bool clk_supplier)
>  				else
>  					return rc;
>  			}
> -			if (clkspec.np == node && !clk_supplier)
> +			if (clkspec.np == node && !clk_supplier) {
> +				of_node_put(clkspec.np);
>  				return 0;
> +			}
>  
>  			clk = of_clk_get_from_provider(&clkspec);
> +			of_node_put(clkspec.np);
>  			if (IS_ERR(clk)) {
>  				if (PTR_ERR(clk) != -EPROBE_DEFER)
>  					pr_warn("clk: couldn't get clock %d for %pOF\n",



-- 
Clément Léger,
Embedded Linux and Kernel engineer at Bootlin
https://bootlin.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] clk: add missing of_node_put() in "assigned-clocks" property parsing
  2023-02-20 11:44 ` Clément Léger
@ 2023-03-14 16:45   ` Clément Léger
  0 siblings, 0 replies; 6+ messages in thread
From: Clément Léger @ 2023-03-14 16:45 UTC (permalink / raw)
  To: Sylwester Nawrocki, Michael Turquette, Stephen Boyd
  Cc: Rob Herring, Frank Rowand, linux-clk, linux-kernel

Le Mon, 20 Feb 2023 12:44:20 +0100,
Clément Léger <clement.leger@bootlin.com> a écrit :

Gentle ping.

> Le Tue, 31 Jan 2023 09:32:27 +0100,
> Clément Léger <clement.leger@bootlin.com> a écrit :
> 
> Ping ?
> 
> > When returning from of_parse_phandle_with_args(), the np member of the
> > of_phandle_args structure should be put after usage. Add missing
> > of_node_put() calls in both __set_clk_parents() and __set_clk_rates().
> > 
> > Fixes: 86be408bfbd8 ("clk: Support for clock parents and rates assigned from device tree")
> > Signed-off-by: Clément Léger <clement.leger@bootlin.com>
> > ---
> > v2:
> >  - Add "Fixes"
> > 
> >  drivers/clk/clk-conf.c | 12 ++++++++++--
> >  1 file changed, 10 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/clk/clk-conf.c b/drivers/clk/clk-conf.c
> > index 2ef819606c41..1a4e6340f95c 100644
> > --- a/drivers/clk/clk-conf.c
> > +++ b/drivers/clk/clk-conf.c
> > @@ -33,9 +33,12 @@ static int __set_clk_parents(struct device_node *node, bool clk_supplier)
> >  			else
> >  				return rc;
> >  		}
> > -		if (clkspec.np == node && !clk_supplier)
> > +		if (clkspec.np == node && !clk_supplier) {
> > +			of_node_put(clkspec.np);
> >  			return 0;
> > +		}
> >  		pclk = of_clk_get_from_provider(&clkspec);
> > +		of_node_put(clkspec.np);
> >  		if (IS_ERR(pclk)) {
> >  			if (PTR_ERR(pclk) != -EPROBE_DEFER)
> >  				pr_warn("clk: couldn't get parent clock %d for %pOF\n",
> > @@ -48,10 +51,12 @@ static int __set_clk_parents(struct device_node *node, bool clk_supplier)
> >  		if (rc < 0)
> >  			goto err;
> >  		if (clkspec.np == node && !clk_supplier) {
> > +			of_node_put(clkspec.np);
> >  			rc = 0;
> >  			goto err;
> >  		}
> >  		clk = of_clk_get_from_provider(&clkspec);
> > +		of_node_put(clkspec.np);
> >  		if (IS_ERR(clk)) {
> >  			if (PTR_ERR(clk) != -EPROBE_DEFER)
> >  				pr_warn("clk: couldn't get assigned clock %d for %pOF\n",
> > @@ -93,10 +98,13 @@ static int __set_clk_rates(struct device_node *node, bool clk_supplier)
> >  				else
> >  					return rc;
> >  			}
> > -			if (clkspec.np == node && !clk_supplier)
> > +			if (clkspec.np == node && !clk_supplier) {
> > +				of_node_put(clkspec.np);
> >  				return 0;
> > +			}
> >  
> >  			clk = of_clk_get_from_provider(&clkspec);
> > +			of_node_put(clkspec.np);
> >  			if (IS_ERR(clk)) {
> >  				if (PTR_ERR(clk) != -EPROBE_DEFER)
> >  					pr_warn("clk: couldn't get clock %d for %pOF\n",  
> 
> 
> 



-- 
Clément Léger,
Embedded Linux and Kernel engineer at Bootlin
https://bootlin.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] clk: add missing of_node_put() in "assigned-clocks" property parsing
  2023-01-31  8:32 [PATCH v2] clk: add missing of_node_put() in "assigned-clocks" property parsing Clément Léger
  2023-02-20 11:44 ` Clément Léger
@ 2023-03-15  0:44 ` Stephen Boyd
  2023-03-28  7:46   ` Clément Léger
  2023-03-29 20:55 ` Stephen Boyd
  2 siblings, 1 reply; 6+ messages in thread
From: Stephen Boyd @ 2023-03-15  0:44 UTC (permalink / raw)
  To: Clément Léger, Michael Turquette, Sylwester Nawrocki
  Cc: Clément Léger, Rob Herring, Frank Rowand, linux-clk,
	linux-kernel

Quoting Clément Léger (2023-01-31 00:32:27)
> When returning from of_parse_phandle_with_args(), the np member of the
> of_phandle_args structure should be put after usage. Add missing
> of_node_put() calls in both __set_clk_parents() and __set_clk_rates().
> 
> Fixes: 86be408bfbd8 ("clk: Support for clock parents and rates assigned from device tree")
> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
> ---

Does this series from a year ago help[1]?

[1] https://lore.kernel.org/all/20220623121857.886-1-nuno.sa@analog.com/

Nobody reviewed it, but if you can then I can probably apply it.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] clk: add missing of_node_put() in "assigned-clocks" property parsing
  2023-03-15  0:44 ` Stephen Boyd
@ 2023-03-28  7:46   ` Clément Léger
  0 siblings, 0 replies; 6+ messages in thread
From: Clément Léger @ 2023-03-28  7:46 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: Michael Turquette, Sylwester Nawrocki, Rob Herring, Frank Rowand,
	linux-clk, linux-kernel

Le Tue, 14 Mar 2023 17:44:35 -0700,
Stephen Boyd <sboyd@kernel.org> a écrit :

> Quoting Clément Léger (2023-01-31 00:32:27)
> > When returning from of_parse_phandle_with_args(), the np member of the
> > of_phandle_args structure should be put after usage. Add missing
> > of_node_put() calls in both __set_clk_parents() and __set_clk_rates().
> > 
> > Fixes: 86be408bfbd8 ("clk: Support for clock parents and rates assigned from device tree")
> > Signed-off-by: Clément Léger <clement.leger@bootlin.com>
> > ---  
> 
> Does this series from a year ago help[1]?
> 
> [1] https://lore.kernel.org/all/20220623121857.886-1-nuno.sa@analog.com/
> 
> Nobody reviewed it, but if you can then I can probably apply it.

I'm only be able to review the first patch of the serie which
is equivalent to what I did but it mixes refactoring and fixes.

-- 
Clément Léger,
Embedded Linux and Kernel engineer at Bootlin
https://bootlin.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] clk: add missing of_node_put() in "assigned-clocks" property parsing
  2023-01-31  8:32 [PATCH v2] clk: add missing of_node_put() in "assigned-clocks" property parsing Clément Léger
  2023-02-20 11:44 ` Clément Léger
  2023-03-15  0:44 ` Stephen Boyd
@ 2023-03-29 20:55 ` Stephen Boyd
  2 siblings, 0 replies; 6+ messages in thread
From: Stephen Boyd @ 2023-03-29 20:55 UTC (permalink / raw)
  To: Clément Léger, Michael Turquette, Sylwester Nawrocki
  Cc: Clément Léger, Rob Herring, Frank Rowand, linux-clk,
	linux-kernel

Quoting Clément Léger (2023-01-31 00:32:27)
> When returning from of_parse_phandle_with_args(), the np member of the
> of_phandle_args structure should be put after usage. Add missing
> of_node_put() calls in both __set_clk_parents() and __set_clk_rates().
> 
> Fixes: 86be408bfbd8 ("clk: Support for clock parents and rates assigned from device tree")
> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
> ---

Applied to clk-next

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-03-29 20:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-31  8:32 [PATCH v2] clk: add missing of_node_put() in "assigned-clocks" property parsing Clément Léger
2023-02-20 11:44 ` Clément Léger
2023-03-14 16:45   ` Clément Léger
2023-03-15  0:44 ` Stephen Boyd
2023-03-28  7:46   ` Clément Léger
2023-03-29 20:55 ` Stephen Boyd

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.