Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] irqchip: irq-imx-intmux: fix runtime PM cleanup
@ 2026-08-18 13:21 Jiawen Liu
  2026-08-18 16:24 ` Frank Li
  0 siblings, 1 reply; 2+ messages in thread
From: Jiawen Liu @ 2026-08-18 13:21 UTC (permalink / raw)
  To: Thomas Gleixner, Frank Li, Sascha Hauer, linux-kernel, imx,
	linux-arm-kernel
  Cc: Pengutronix Kernel Team, Fabio Estevam

Fix imx_intmux_probe lifecycle error path.

Probe enables runtime PM and clock. Failures after clock enable only
disable clock and leak PM runtime reference/enable. Clk cleanup is
incomplete because PM runtime state is left enabled/ref held on later
probe failures.

Balance runtime PM setup on imx-intmux probe failures in
imx_intmux_probe.

Signed-off-by: jiawen <1298662399@qq.com>
---
diff --git a/drivers/irqchip/irq-imx-intmux.c b/drivers/irqchip/irq-imx-intmux.c
--- a/drivers/irqchip/irq-imx-intmux.c
+++ b/drivers/irqchip/irq-imx-intmux.c
@@ -240,6 +240,8 @@
 	ret = clk_prepare_enable(data->ipg_clk);
 	if (ret) {
 		dev_err(&pdev->dev, "failed to enable ipg clk: %d\n", ret);
+		pm_runtime_put_noidle(&pdev->dev);
+		pm_runtime_disable(&pdev->dev);
 		return ret;
 	}
 
@@ -282,6 +284,8 @@
 	return 0;
 out:
 	clk_disable_unprepare(data->ipg_clk);
+	pm_runtime_put_noidle(&pdev->dev);
+	pm_runtime_disable(&pdev->dev);
 	return ret;
 }
 



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

* Re: [PATCH] irqchip: irq-imx-intmux: fix runtime PM cleanup
  2026-08-18 13:21 [PATCH] irqchip: irq-imx-intmux: fix runtime PM cleanup Jiawen Liu
@ 2026-08-18 16:24 ` Frank Li
  0 siblings, 0 replies; 2+ messages in thread
From: Frank Li @ 2026-08-18 16:24 UTC (permalink / raw)
  To: Jiawen Liu
  Cc: Thomas Gleixner, Frank Li, Sascha Hauer, linux-kernel, imx,
	linux-arm-kernel, Pengutronix Kernel Team, Fabio Estevam

On Tue, Aug 18, 2026 at 05:21:08PM +0400, Jiawen Liu wrote:
> Fix imx_intmux_probe lifecycle error path.
>
> Probe enables runtime PM and clock. Failures after clock enable only
> disable clock and leak PM runtime reference/enable. Clk cleanup is
> incomplete because PM runtime state is left enabled/ref held on later
> probe failures.
>
> Balance runtime PM setup on imx-intmux probe failures in
> imx_intmux_probe.
>
> Signed-off-by: jiawen <1298662399@qq.com>
> ---
> diff --git a/drivers/irqchip/irq-imx-intmux.c b/drivers/irqchip/irq-imx-intmux.c
> --- a/drivers/irqchip/irq-imx-intmux.c
> +++ b/drivers/irqchip/irq-imx-intmux.c
> @@ -240,6 +240,8 @@
>  	ret = clk_prepare_enable(data->ipg_clk);
>  	if (ret) {
>  		dev_err(&pdev->dev, "failed to enable ipg clk: %d\n", ret);
> +		pm_runtime_put_noidle(&pdev->dev);
> +		pm_runtime_disable(&pdev->dev);


use devm_pm_runtime_enable() to fix this problem.

Frank

>  		return ret;
>  	}
>
> @@ -282,6 +284,8 @@
>  	return 0;
>  out:
>  	clk_disable_unprepare(data->ipg_clk);
> +	pm_runtime_put_noidle(&pdev->dev);
> +	pm_runtime_disable(&pdev->dev);
>  	return ret;
>  }
>
>
>


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

end of thread, other threads:[~2026-08-18 16:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-18 13:21 [PATCH] irqchip: irq-imx-intmux: fix runtime PM cleanup Jiawen Liu
2026-08-18 16:24 ` Frank Li

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