* [PATCH] thermal: exynos: Disable the regulator on probe failure
@ 2015-06-08 1:35 Krzysztof Kozlowski
2015-06-08 6:54 ` Javier Martinez Canillas
2015-06-08 16:14 ` Lukasz Majewski
0 siblings, 2 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2015-06-08 1:35 UTC (permalink / raw)
To: Lukasz Majewski, Zhang Rui, Eduardo Valentin, Kukjin Kim,
Krzysztof Kozlowski, linux-pm, linux-samsung-soc,
linux-arm-kernel, linux-kernel
Cc: stable
During probe the regulator (if present) was enabled but not disabled in
case of failure. So an unsuccessful probe lead to enabling the
regulator which was actually not needed because the device was not
enabled.
Additionally each deferred probe lead to increase of regulator enable
count so it would not be effectively disabled during removal of the
device.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Fixes: 498d22f616f6 ("thermal: exynos: Support for TMU regulator defined at device tree")
Cc: <stable@vger.kernel.org>
---
I am not entirely convinced that this should go to stable. Leaving a
regulator enabled in case of probe failure (no exynos TMU device) or
after deferred probe (regulator won't be disabled during device removal)
is not a critical issue, just leaks power.
---
drivers/thermal/samsung/exynos_tmu.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c
index 531f4b179871..13c3aceed19d 100644
--- a/drivers/thermal/samsung/exynos_tmu.c
+++ b/drivers/thermal/samsung/exynos_tmu.c
@@ -1392,6 +1392,8 @@ err_clk_sec:
if (!IS_ERR(data->clk_sec))
clk_unprepare(data->clk_sec);
err_sensor:
+ if (!IS_ERR_OR_NULL(data->regulator))
+ regulator_disable(data->regulator);
thermal_zone_of_sensor_unregister(&pdev->dev, data->tzd);
return ret;
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] thermal: exynos: Disable the regulator on probe failure
2015-06-08 1:35 [PATCH] thermal: exynos: Disable the regulator on probe failure Krzysztof Kozlowski
@ 2015-06-08 6:54 ` Javier Martinez Canillas
2015-06-08 16:14 ` Lukasz Majewski
1 sibling, 0 replies; 7+ messages in thread
From: Javier Martinez Canillas @ 2015-06-08 6:54 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Lukasz Majewski, Zhang Rui, Eduardo Valentin, Kukjin Kim,
linux-pm@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, Linux Kernel, stable
Hello Krzysztof,
On Mon, Jun 8, 2015 at 3:35 AM, Krzysztof Kozlowski
<k.kozlowski@samsung.com> wrote:
> During probe the regulator (if present) was enabled but not disabled in
> case of failure. So an unsuccessful probe lead to enabling the
> regulator which was actually not needed because the device was not
> enabled.
>
> Additionally each deferred probe lead to increase of regulator enable
> count so it would not be effectively disabled during removal of the
> device.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Fixes: 498d22f616f6 ("thermal: exynos: Support for TMU regulator defined at device tree")
> Cc: <stable@vger.kernel.org>
>
Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
> ---
>
> I am not entirely convinced that this should go to stable. Leaving a
> regulator enabled in case of probe failure (no exynos TMU device) or
> after deferred probe (regulator won't be disabled during device removal)
> is not a critical issue, just leaks power.
Yes, as you said leaving the regulator enabled is not critical but
OTOH is a very small patch and is fixing a very evident bug so I think
it's OK.
Best regards,
Javier
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] thermal: exynos: Disable the regulator on probe failure
2015-06-08 1:35 [PATCH] thermal: exynos: Disable the regulator on probe failure Krzysztof Kozlowski
2015-06-08 6:54 ` Javier Martinez Canillas
@ 2015-06-08 16:14 ` Lukasz Majewski
2015-07-06 4:00 ` Krzysztof Kozlowski
1 sibling, 1 reply; 7+ messages in thread
From: Lukasz Majewski @ 2015-06-08 16:14 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Zhang Rui, Eduardo Valentin, Kukjin Kim, linux-pm,
linux-samsung-soc, linux-arm-kernel, linux-kernel, stable
Hi Krzysztof,
> During probe the regulator (if present) was enabled but not disabled
> in case of failure. So an unsuccessful probe lead to enabling the
> regulator which was actually not needed because the device was not
> enabled.
>
> Additionally each deferred probe lead to increase of regulator enable
> count so it would not be effectively disabled during removal of the
> device.
Thanks for catching this.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Fixes: 498d22f616f6 ("thermal: exynos: Support for TMU regulator
> defined at device tree") Cc: <stable@vger.kernel.org>
>
> ---
>
> I am not entirely convinced that this should go to stable. Leaving a
> regulator enabled in case of probe failure (no exynos TMU device) or
> after deferred probe (regulator won't be disabled during device
> removal) is not a critical issue, just leaks power.
> ---
> drivers/thermal/samsung/exynos_tmu.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/thermal/samsung/exynos_tmu.c
> b/drivers/thermal/samsung/exynos_tmu.c index
> 531f4b179871..13c3aceed19d 100644 ---
> a/drivers/thermal/samsung/exynos_tmu.c +++
> b/drivers/thermal/samsung/exynos_tmu.c @@ -1392,6 +1392,8 @@
> err_clk_sec: if (!IS_ERR(data->clk_sec))
> clk_unprepare(data->clk_sec);
> err_sensor:
> + if (!IS_ERR_OR_NULL(data->regulator))
> + regulator_disable(data->regulator);
> thermal_zone_of_sensor_unregister(&pdev->dev, data->tzd);
>
> return ret;
Acked-by: Lukasz Majewski <l.majewski@samsung.com>
I will test it and afterwards add to samsung-thermal tree.
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] thermal: exynos: Disable the regulator on probe failure
2015-06-08 16:14 ` Lukasz Majewski
@ 2015-07-06 4:00 ` Krzysztof Kozlowski
2015-07-06 7:01 ` Lukasz Majewski
2015-07-06 15:05 ` Lukasz Majewski
0 siblings, 2 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2015-07-06 4:00 UTC (permalink / raw)
To: Lukasz Majewski
Cc: Krzysztof Kozlowski, Zhang Rui, Eduardo Valentin, Kukjin Kim,
linux-pm, linux-samsung-soc, linux-arm-kernel, linux-kernel,
stable
2015-06-09 1:14 GMT+09:00 Lukasz Majewski <l.majewski@samsung.com>:
> Hi Krzysztof,
>
>> During probe the regulator (if present) was enabled but not disabled
>> in case of failure. So an unsuccessful probe lead to enabling the
>> regulator which was actually not needed because the device was not
>> enabled.
>>
>> Additionally each deferred probe lead to increase of regulator enable
>> count so it would not be effectively disabled during removal of the
>> device.
>
> Thanks for catching this.
>
>>
>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>> Fixes: 498d22f616f6 ("thermal: exynos: Support for TMU regulator
>> defined at device tree") Cc: <stable@vger.kernel.org>
>>
>> ---
>>
>> I am not entirely convinced that this should go to stable. Leaving a
>> regulator enabled in case of probe failure (no exynos TMU device) or
>> after deferred probe (regulator won't be disabled during device
>> removal) is not a critical issue, just leaks power.
>> ---
>> drivers/thermal/samsung/exynos_tmu.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/thermal/samsung/exynos_tmu.c
>> b/drivers/thermal/samsung/exynos_tmu.c index
>> 531f4b179871..13c3aceed19d 100644 ---
>> a/drivers/thermal/samsung/exynos_tmu.c +++
>> b/drivers/thermal/samsung/exynos_tmu.c @@ -1392,6 +1392,8 @@
>> err_clk_sec: if (!IS_ERR(data->clk_sec))
>> clk_unprepare(data->clk_sec);
>> err_sensor:
>> + if (!IS_ERR_OR_NULL(data->regulator))
>> + regulator_disable(data->regulator);
>> thermal_zone_of_sensor_unregister(&pdev->dev, data->tzd);
>>
>> return ret;
>
> Acked-by: Lukasz Majewski <l.majewski@samsung.com>
>
> I will test it and afterwards add to samsung-thermal tree.
Hi Łukasz,
I can't find this patch in v4.2-rc1 or your tree. What happened?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] thermal: exynos: Disable the regulator on probe failure
2015-07-06 4:00 ` Krzysztof Kozlowski
@ 2015-07-06 7:01 ` Lukasz Majewski
2015-07-06 7:02 ` Krzysztof Kozlowski
2015-07-06 15:05 ` Lukasz Majewski
1 sibling, 1 reply; 7+ messages in thread
From: Lukasz Majewski @ 2015-07-06 7:01 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Zhang Rui, Eduardo Valentin, Kukjin Kim, linux-pm,
linux-samsung-soc, linux-arm-kernel, linux-kernel, stable
Hi Krzysztof,
> 2015-06-09 1:14 GMT+09:00 Lukasz Majewski <l.majewski@samsung.com>:
> > Hi Krzysztof,
> >
> >> During probe the regulator (if present) was enabled but not
> >> disabled in case of failure. So an unsuccessful probe lead to
> >> enabling the regulator which was actually not needed because the
> >> device was not enabled.
> >>
> >> Additionally each deferred probe lead to increase of regulator
> >> enable count so it would not be effectively disabled during
> >> removal of the device.
> >
> > Thanks for catching this.
> >
> >>
> >> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> >> Fixes: 498d22f616f6 ("thermal: exynos: Support for TMU regulator
> >> defined at device tree") Cc: <stable@vger.kernel.org>
> >>
> >> ---
> >>
> >> I am not entirely convinced that this should go to stable. Leaving
> >> a regulator enabled in case of probe failure (no exynos TMU
> >> device) or after deferred probe (regulator won't be disabled
> >> during device removal) is not a critical issue, just leaks power.
> >> ---
> >> drivers/thermal/samsung/exynos_tmu.c | 2 ++
> >> 1 file changed, 2 insertions(+)
> >>
> >> diff --git a/drivers/thermal/samsung/exynos_tmu.c
> >> b/drivers/thermal/samsung/exynos_tmu.c index
> >> 531f4b179871..13c3aceed19d 100644 ---
> >> a/drivers/thermal/samsung/exynos_tmu.c +++
> >> b/drivers/thermal/samsung/exynos_tmu.c @@ -1392,6 +1392,8 @@
> >> err_clk_sec: if (!IS_ERR(data->clk_sec))
> >> clk_unprepare(data->clk_sec);
> >> err_sensor:
> >> + if (!IS_ERR_OR_NULL(data->regulator))
> >> + regulator_disable(data->regulator);
> >> thermal_zone_of_sensor_unregister(&pdev->dev, data->tzd);
> >>
> >> return ret;
> >
> > Acked-by: Lukasz Majewski <l.majewski@samsung.com>
> >
> > I will test it and afterwards add to samsung-thermal tree.
>
> Hi Łukasz,
>
> I can't find this patch in v4.2-rc1 or your tree. What happened?
I will got together with Chanowoo patches. I will send PR today to
Eduardo.
>
> Best regards,
> Krzysztof
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] thermal: exynos: Disable the regulator on probe failure
2015-07-06 7:01 ` Lukasz Majewski
@ 2015-07-06 7:02 ` Krzysztof Kozlowski
0 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2015-07-06 7:02 UTC (permalink / raw)
To: Lukasz Majewski
Cc: Zhang Rui, Eduardo Valentin, Kukjin Kim, linux-pm,
linux-samsung-soc, linux-arm-kernel, linux-kernel, stable
On 06.07.2015 16:01, Lukasz Majewski wrote:
> Hi Krzysztof,
>
>> 2015-06-09 1:14 GMT+09:00 Lukasz Majewski <l.majewski@samsung.com>:
>>> Hi Krzysztof,
>>>
>>>> During probe the regulator (if present) was enabled but not
>>>> disabled in case of failure. So an unsuccessful probe lead to
>>>> enabling the regulator which was actually not needed because the
>>>> device was not enabled.
>>>>
>>>> Additionally each deferred probe lead to increase of regulator
>>>> enable count so it would not be effectively disabled during
>>>> removal of the device.
>>>
>>> Thanks for catching this.
>>>
>>>>
>>>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>>>> Fixes: 498d22f616f6 ("thermal: exynos: Support for TMU regulator
>>>> defined at device tree") Cc: <stable@vger.kernel.org>
>>>>
>>>> ---
>>>>
>>>> I am not entirely convinced that this should go to stable. Leaving
>>>> a regulator enabled in case of probe failure (no exynos TMU
>>>> device) or after deferred probe (regulator won't be disabled
>>>> during device removal) is not a critical issue, just leaks power.
>>>> ---
>>>> drivers/thermal/samsung/exynos_tmu.c | 2 ++
>>>> 1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/drivers/thermal/samsung/exynos_tmu.c
>>>> b/drivers/thermal/samsung/exynos_tmu.c index
>>>> 531f4b179871..13c3aceed19d 100644 ---
>>>> a/drivers/thermal/samsung/exynos_tmu.c +++
>>>> b/drivers/thermal/samsung/exynos_tmu.c @@ -1392,6 +1392,8 @@
>>>> err_clk_sec: if (!IS_ERR(data->clk_sec))
>>>> clk_unprepare(data->clk_sec);
>>>> err_sensor:
>>>> + if (!IS_ERR_OR_NULL(data->regulator))
>>>> + regulator_disable(data->regulator);
>>>> thermal_zone_of_sensor_unregister(&pdev->dev, data->tzd);
>>>>
>>>> return ret;
>>>
>>> Acked-by: Lukasz Majewski <l.majewski@samsung.com>
>>>
>>> I will test it and afterwards add to samsung-thermal tree.
>>
>> Hi Łukasz,
>>
>> I can't find this patch in v4.2-rc1 or your tree. What happened?
>
> I will got together with Chanowoo patches. I will send PR today to
> Eduardo.
Thanks!
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] thermal: exynos: Disable the regulator on probe failure
2015-07-06 4:00 ` Krzysztof Kozlowski
2015-07-06 7:01 ` Lukasz Majewski
@ 2015-07-06 15:05 ` Lukasz Majewski
1 sibling, 0 replies; 7+ messages in thread
From: Lukasz Majewski @ 2015-07-06 15:05 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Zhang Rui, Eduardo Valentin, Kukjin Kim, linux-pm,
linux-samsung-soc, linux-arm-kernel, linux-kernel, stable
Hi Krzysztof,
> 2015-06-09 1:14 GMT+09:00 Lukasz Majewski <l.majewski@samsung.com>:
> > Hi Krzysztof,
> >
> >> During probe the regulator (if present) was enabled but not
> >> disabled in case of failure. So an unsuccessful probe lead to
> >> enabling the regulator which was actually not needed because the
> >> device was not enabled.
> >>
> >> Additionally each deferred probe lead to increase of regulator
> >> enable count so it would not be effectively disabled during
> >> removal of the device.
> >
> > Thanks for catching this.
> >
> >>
> >> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> >> Fixes: 498d22f616f6 ("thermal: exynos: Support for TMU regulator
> >> defined at device tree") Cc: <stable@vger.kernel.org>
> >>
> >> ---
> >>
> >> I am not entirely convinced that this should go to stable. Leaving
> >> a regulator enabled in case of probe failure (no exynos TMU
> >> device) or after deferred probe (regulator won't be disabled
> >> during device removal) is not a critical issue, just leaks power.
> >> ---
> >> drivers/thermal/samsung/exynos_tmu.c | 2 ++
> >> 1 file changed, 2 insertions(+)
> >>
> >> diff --git a/drivers/thermal/samsung/exynos_tmu.c
> >> b/drivers/thermal/samsung/exynos_tmu.c index
> >> 531f4b179871..13c3aceed19d 100644 ---
> >> a/drivers/thermal/samsung/exynos_tmu.c +++
> >> b/drivers/thermal/samsung/exynos_tmu.c @@ -1392,6 +1392,8 @@
> >> err_clk_sec: if (!IS_ERR(data->clk_sec))
> >> clk_unprepare(data->clk_sec);
> >> err_sensor:
> >> + if (!IS_ERR_OR_NULL(data->regulator))
> >> + regulator_disable(data->regulator);
> >> thermal_zone_of_sensor_unregister(&pdev->dev, data->tzd);
> >>
> >> return ret;
> >
> > Acked-by: Lukasz Majewski <l.majewski@samsung.com>
> >
> > I will test it and afterwards add to samsung-thermal tree.
>
> Hi Łukasz,
>
> I can't find this patch in v4.2-rc1 or your tree. What happened?
>
> Best regards,
> Krzysztof
Applied to linux-samsung-thermal.git
Thanks for fix and sorry for the delay.
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-07-06 15:05 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-08 1:35 [PATCH] thermal: exynos: Disable the regulator on probe failure Krzysztof Kozlowski
2015-06-08 6:54 ` Javier Martinez Canillas
2015-06-08 16:14 ` Lukasz Majewski
2015-07-06 4:00 ` Krzysztof Kozlowski
2015-07-06 7:01 ` Lukasz Majewski
2015-07-06 7:02 ` Krzysztof Kozlowski
2015-07-06 15:05 ` Lukasz Majewski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).