Re: [PATCH 07/11] drm/panthor: Fix panthor_pwr_unplug()
From: Liviu Dudau
Date: Fri Jun 26 2026 - 08:43:09 EST
On Thu, Jun 25, 2026 at 02:40:33PM +0200, Boris Brezillon wrote:
> We can't call panthor_pwr_irq_suspend() if the device is suspended,
> or this leads to a hang when the IOMEM region is accessed while the
> clks are disabled. Do what other sub-components do and conditionally
> call panthor_pwr_irq_suspend() if we know the PWR regbank block is
> accessible.
>
> Fixes: c27787f2b77f ("drm/panthor: Introduce panthor_pwr API and power control framework")
> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx>
Reviewed-by: Liviu Dudau <liviu.dudau@xxxxxxx>
Best regards,
Liviu
> ---
> drivers/gpu/drm/panthor/panthor_pwr.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/panthor/panthor_pwr.c b/drivers/gpu/drm/panthor/panthor_pwr.c
> index 7c7f424a1436..090362bd700b 100644
> --- a/drivers/gpu/drm/panthor/panthor_pwr.c
> +++ b/drivers/gpu/drm/panthor/panthor_pwr.c
> @@ -453,7 +453,8 @@ void panthor_pwr_unplug(struct panthor_device *ptdev)
> return;
>
> /* Make sure the IRQ handler is not running after that point. */
> - panthor_pwr_irq_suspend(&ptdev->pwr->irq);
> + if (!IS_ENABLED(CONFIG_PM) || pm_runtime_active(ptdev->base.dev))
> + panthor_pwr_irq_suspend(&ptdev->pwr->irq);
>
> /* Wake-up all waiters. */
> spin_lock_irqsave(&ptdev->pwr->reqs_lock, flags);
>
> --
> 2.54.0
>
--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
¯\_(ツ)_/¯