Message ID | 1585232945-23368-1-git-send-email-Anson.Huang@nxp.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | b45fd13be340e4ed0a2a9673ba299eb2a71ba829 |
Headers | show |
Series | [V2] thermal: imx: Add missing of_node_put() | expand |
On Thu, Mar 26, 2020 at 8:06 PM Anson Huang <Anson.Huang@nxp.com> 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> > --- > Changes since V1: > - improve the logic, no need to use got. > --- > drivers/thermal/imx_thermal.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c > index e761c9b..1b84ea6 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,12 @@ 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); You could move this policy release outside the if block too, no? > - return ret; > } > } > > - return 0; > + of_node_put(np); > + > + return ret; > } > > static void imx_thermal_unregister_legacy_cooling(struct imx_thermal_data *data) > -- > 2.7.4 >
Hi, Amit > Subject: Re: [PATCH V2] thermal: imx: Add missing of_node_put() > > On Thu, Mar 26, 2020 at 8:06 PM Anson Huang <Anson.Huang@nxp.com> > 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> > > --- > > Changes since V1: > > - improve the logic, no need to use got. > > --- > > drivers/thermal/imx_thermal.c | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/thermal/imx_thermal.c > > b/drivers/thermal/imx_thermal.c index e761c9b..1b84ea6 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,12 @@ 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); > > You could move this policy release outside the if block too, no? Looks like yes, the policy can be put before function return anyway, I will do it in V3. Thanks, Anson
diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c index e761c9b..1b84ea6 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,12 @@ 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; } } - return 0; + of_node_put(np); + + return ret; } static void imx_thermal_unregister_legacy_cooling(struct imx_thermal_data *data)
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> --- Changes since V1: - improve the logic, no need to use got. --- drivers/thermal/imx_thermal.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)