The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH] media: mali-c55: Fix clock leak on reset deassert failure
@ 2026-06-09 11:37 David Carlier
  2026-06-10  6:50 ` Dan Scally
  2026-07-01  7:25 ` Jacopo Mondi
  0 siblings, 2 replies; 3+ messages in thread
From: David Carlier @ 2026-06-09 11:37 UTC (permalink / raw)
  To: Daniel Scally, Jacopo Mondi
  Cc: Mauro Carvalho Chehab, linux-media, linux-kernel, David Carlier

__mali_c55_power_on() enables the clocks before deasserting the resets,
but bails out on a deassert failure without disabling them again. Both
callers treat a failed power-on as already cleaned up, so the clocks are
left enabled.

Disable them on the error path.

Fixes: d5f281f3dd29 ("media: mali-c55: Add Mali-C55 ISP driver")
Signed-off-by: David Carlier <devnexen@gmail.com>
---
 drivers/media/platform/arm/mali-c55/mali-c55-core.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-core.c b/drivers/media/platform/arm/mali-c55/mali-c55-core.c
index ee4a42674..fb81141d1 100644
--- a/drivers/media/platform/arm/mali-c55/mali-c55-core.c
+++ b/drivers/media/platform/arm/mali-c55/mali-c55-core.c
@@ -699,6 +699,8 @@ static int __mali_c55_power_on(struct mali_c55 *mali_c55)
 					  mali_c55->resets);
 	if (ret) {
 		dev_err(mali_c55->dev, "failed to deassert resets\n");
+		clk_bulk_disable_unprepare(ARRAY_SIZE(mali_c55->clks),
+					   mali_c55->clks);
 		return ret;
 	}
 
-- 
2.53.0


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

* Re: [PATCH] media: mali-c55: Fix clock leak on reset deassert failure
  2026-06-09 11:37 [PATCH] media: mali-c55: Fix clock leak on reset deassert failure David Carlier
@ 2026-06-10  6:50 ` Dan Scally
  2026-07-01  7:25 ` Jacopo Mondi
  1 sibling, 0 replies; 3+ messages in thread
From: Dan Scally @ 2026-06-10  6:50 UTC (permalink / raw)
  To: David Carlier, Jacopo Mondi
  Cc: Mauro Carvalho Chehab, linux-media, linux-kernel

Hi David, thanks again!

On 09/06/2026 12:37, David Carlier wrote:
> __mali_c55_power_on() enables the clocks before deasserting the resets,
> but bails out on a deassert failure without disabling them again. Both
> callers treat a failed power-on as already cleaned up, so the clocks are
> left enabled.
> 
> Disable them on the error path.
> 
> Fixes: d5f281f3dd29 ("media: mali-c55: Add Mali-C55 ISP driver")
> Signed-off-by: David Carlier <devnexen@gmail.com>
> ---

Yep looks good:

Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>

>   drivers/media/platform/arm/mali-c55/mali-c55-core.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-core.c b/drivers/media/platform/arm/mali-c55/mali-c55-core.c
> index ee4a42674..fb81141d1 100644
> --- a/drivers/media/platform/arm/mali-c55/mali-c55-core.c
> +++ b/drivers/media/platform/arm/mali-c55/mali-c55-core.c
> @@ -699,6 +699,8 @@ static int __mali_c55_power_on(struct mali_c55 *mali_c55)
>   					  mali_c55->resets);
>   	if (ret) {
>   		dev_err(mali_c55->dev, "failed to deassert resets\n");
> +		clk_bulk_disable_unprepare(ARRAY_SIZE(mali_c55->clks),
> +					   mali_c55->clks);
>   		return ret;
>   	}
>   


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

* Re: [PATCH] media: mali-c55: Fix clock leak on reset deassert failure
  2026-06-09 11:37 [PATCH] media: mali-c55: Fix clock leak on reset deassert failure David Carlier
  2026-06-10  6:50 ` Dan Scally
@ 2026-07-01  7:25 ` Jacopo Mondi
  1 sibling, 0 replies; 3+ messages in thread
From: Jacopo Mondi @ 2026-07-01  7:25 UTC (permalink / raw)
  To: David Carlier
  Cc: Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab, linux-media,
	linux-kernel

Hi David

On Tue, Jun 09, 2026 at 12:37:47PM +0100, David Carlier wrote:
> __mali_c55_power_on() enables the clocks before deasserting the resets,
> but bails out on a deassert failure without disabling them again. Both
> callers treat a failed power-on as already cleaned up, so the clocks are
> left enabled.
>
> Disable them on the error path.
>
> Fixes: d5f281f3dd29 ("media: mali-c55: Add Mali-C55 ISP driver")

Fixes need to Cc stable

> Signed-off-by: David Carlier <devnexen@gmail.com>

Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>

Could you please Cc: stable@vger.kernel.org on a new version so the
patch hits the stable list as well ?

Thanks
   j

> ---
>  drivers/media/platform/arm/mali-c55/mali-c55-core.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-core.c b/drivers/media/platform/arm/mali-c55/mali-c55-core.c
> index ee4a42674..fb81141d1 100644
> --- a/drivers/media/platform/arm/mali-c55/mali-c55-core.c
> +++ b/drivers/media/platform/arm/mali-c55/mali-c55-core.c
> @@ -699,6 +699,8 @@ static int __mali_c55_power_on(struct mali_c55 *mali_c55)
>  					  mali_c55->resets);
>  	if (ret) {
>  		dev_err(mali_c55->dev, "failed to deassert resets\n");
> +		clk_bulk_disable_unprepare(ARRAY_SIZE(mali_c55->clks),
> +					   mali_c55->clks);
>  		return ret;
>  	}
>
> --
> 2.53.0
>
>

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

end of thread, other threads:[~2026-07-01  7:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-09 11:37 [PATCH] media: mali-c55: Fix clock leak on reset deassert failure David Carlier
2026-06-10  6:50 ` Dan Scally
2026-07-01  7:25 ` Jacopo Mondi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox