result is always zero when comes here.
Signed-off-by:[email protected]
---
drivers/thermal/thermal_core.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index 5b7d466..19cac8e 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -1568,8 +1568,7 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type,
thermal_zone_device_update(tz);
- if (!result)
- return tz;
+ return tz;
unregister:
release_idr(&thermal_tz_idr, &thermal_idr_lock, tz->id);
--
1.8.0.1
Hello Yao
On Mon, Oct 20, 2014 at 04:27:59PM +0800, Yao Dongdong wrote:
> result is always zero when comes here.
>
> Signed-off-by:[email protected]
>
> ---
> drivers/thermal/thermal_core.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
> index 5b7d466..19cac8e 100644
> --- a/drivers/thermal/thermal_core.c
> +++ b/drivers/thermal/thermal_core.c
> @@ -1568,8 +1568,7 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type,
>
> thermal_zone_device_update(tz);
>
> - if (!result)
> - return tz;
> + return tz;
>
Adding a return here will make the resource release below not reachable
in the fail path.
> unregister:
> release_idr(&thermal_tz_idr, &thermal_idr_lock, tz->id);
> --
> 1.8.0.1
>
>
On 2014/10/20 20:10, Eduardo Valentin wrote:
> Hello Yao
>
> On Mon, Oct 20, 2014 at 04:27:59PM +0800, Yao Dongdong wrote:
>> result is always zero when comes here.
>>
>> Signed-off-by:[email protected]
>>
>> ---
>> drivers/thermal/thermal_core.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
>> index 5b7d466..19cac8e 100644
>> --- a/drivers/thermal/thermal_core.c
>> +++ b/drivers/thermal/thermal_core.c
>> @@ -1568,8 +1568,7 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type,
>>
>> thermal_zone_device_update(tz);
>>
>> - if (!result)
>> - return tz;
>> + return tz;
>>
> Adding a return here will make the resource release below not reachable
> in the fail path.
But all fails above followed a "goto unregister", so i think it must be successful when come here.
Thanks.
>> unregister:
>> release_idr(&thermal_tz_idr, &thermal_idr_lock, tz->id);
>> --
>> 1.8.0.1
>>
>>
Hello Yao,
On Tue, Oct 21, 2014 at 11:34:37AM +0800, Yao Dongdong wrote:
>
> On 2014/10/20 20:10, Eduardo Valentin wrote:
> > Hello Yao
> >
> > On Mon, Oct 20, 2014 at 04:27:59PM +0800, Yao Dongdong wrote:
> >> result is always zero when comes here.
> >>
> >> Signed-off-by:[email protected]
> >>
> >> ---
> >> drivers/thermal/thermal_core.c | 3 +--
> >> 1 file changed, 1 insertion(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
> >> index 5b7d466..19cac8e 100644
> >> --- a/drivers/thermal/thermal_core.c
> >> +++ b/drivers/thermal/thermal_core.c
> >> @@ -1568,8 +1568,7 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type,
> >>
> >> thermal_zone_device_update(tz);
> >>
> >> - if (!result)
> >> - return tz;
> >> + return tz;
> >>
> > Adding a return here will make the resource release below not reachable
> > in the fail path.
>
> But all fails above followed a "goto unregister", so i think it must be successful when come here.
Yes, I see your point. Agreed.
Acked-by: Eduardo Valentin <[email protected]>
>
> Thanks.
>
> >> unregister:
> >> release_idr(&thermal_tz_idr, &thermal_idr_lock, tz->id);
> >> --
> >> 1.8.0.1
> >>
> >>
>
>