diff mbox series

thermal: imx: Add missing of_node_put()

Message ID 1585200445-16461-1-git-send-email-Anson.Huang@nxp.com (mailing list archive)
State New, archived
Headers show
Series thermal: imx: Add missing of_node_put() | expand

Commit Message

Anson Huang March 26, 2020, 5:27 a.m. UTC
After finishing using cpu node got from of_get_cpu_node(), of_node_put()
needs to be called.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
 drivers/thermal/imx_thermal.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

Comments

Daniel Lezcano March 26, 2020, 2:06 p.m. UTC | #1
On 26/03/2020 06:27, Anson Huang wrote:
> After finishing using cpu node got from of_get_cpu_node(),
> of_node_put() needs to be called.
>
> Signed-off-by: Anson Huang <Anson.Huang@nxp.com> ---
> drivers/thermal/imx_thermal.c | 10 +++++++--- 1 file changed, 7
> insertions(+), 3 deletions(-)
>
> diff --git a/drivers/thermal/imx_thermal.c
> b/drivers/thermal/imx_thermal.c index e761c9b..f7b970d 100644 ---
> a/drivers/thermal/imx_thermal.c +++
> b/drivers/thermal/imx_thermal.c @@ -649,7 +649,7 @@
> MODULE_DEVICE_TABLE(of, of_imx_thermal_match); static int
> imx_thermal_register_legacy_cooling(struct imx_thermal_data *data)
> { struct device_node *np; -	int ret; +	int ret = 0;
>
> data->policy = cpufreq_cpu_get(0); if (!data->policy) { @@ -664,11
> +664,15 @@ static int imx_thermal_register_legacy_cooling(struct
> imx_thermal_data *data) if (IS_ERR(data->cdev)) { ret =
> PTR_ERR(data->cdev); cpufreq_cpu_put(data->policy); -			return
> ret; +			goto put_node; } }
>
> -	return 0; +put_node: +	if (np) +		of_node_put(np);

of_node_put() is already checking if 'np' is NULL.

> + +	return ret; }
>
> static void imx_thermal_unregister_legacy_cooling(struct
> imx_thermal_data *data)
>
Anson Huang March 26, 2020, 2:17 p.m. UTC | #2
Hi, Daniel

> Subject: Re: [PATCH] thermal: imx: Add missing of_node_put()
> 
> On 26/03/2020 06:27, Anson Huang wrote:
> > After finishing using cpu node got from of_get_cpu_node(),
> > of_node_put() needs to be called.
> >
> > Signed-off-by: Anson Huang <Anson.Huang@nxp.com> ---
> > drivers/thermal/imx_thermal.c | 10 +++++++--- 1 file changed, 7
> > insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/thermal/imx_thermal.c
> > b/drivers/thermal/imx_thermal.c index e761c9b..f7b970d 100644 ---
> > a/drivers/thermal/imx_thermal.c +++ b/drivers/thermal/imx_thermal.c
> @@
> > -649,7 +649,7 @@ MODULE_DEVICE_TABLE(of, of_imx_thermal_match);
> static
> > int imx_thermal_register_legacy_cooling(struct imx_thermal_data *data)
> > { struct device_node *np; -	int ret; +	int ret = 0;
> >
> > data->policy = cpufreq_cpu_get(0); if (!data->policy) { @@ -664,11
> > +664,15 @@ static int imx_thermal_register_legacy_cooling(struct
> > imx_thermal_data *data) if (IS_ERR(data->cdev)) { ret =
> > PTR_ERR(data->cdev); cpufreq_cpu_put(data->policy); -
> 	return
> > ret; +			goto put_node; } }
> >
> > -	return 0; +put_node: +	if (np) +		of_node_put(np);
> 
> of_node_put() is already checking if 'np' is NULL.

OK, I will remove the checking of if 'np' is NULL.

Thanks,
Anson
diff mbox series

Patch

diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c
index e761c9b..f7b970d 100644
--- a/drivers/thermal/imx_thermal.c
+++ b/drivers/thermal/imx_thermal.c
@@ -649,7 +649,7 @@  MODULE_DEVICE_TABLE(of, of_imx_thermal_match);
 static int imx_thermal_register_legacy_cooling(struct imx_thermal_data *data)
 {
 	struct device_node *np;
-	int ret;
+	int ret = 0;
 
 	data->policy = cpufreq_cpu_get(0);
 	if (!data->policy) {
@@ -664,11 +664,15 @@  static int imx_thermal_register_legacy_cooling(struct imx_thermal_data *data)
 		if (IS_ERR(data->cdev)) {
 			ret = PTR_ERR(data->cdev);
 			cpufreq_cpu_put(data->policy);
-			return ret;
+			goto put_node;
 		}
 	}
 
-	return 0;
+put_node:
+	if (np)
+		of_node_put(np);
+
+	return ret;
 }
 
 static void imx_thermal_unregister_legacy_cooling(struct imx_thermal_data *data)