Re: [PATCH] drm/panthor: Fix NULL pointer dereference on panthor_fw_unplug
From: Boris Brezillon
Date: Tue Dec 16 2025 - 05:40:04 EST
On Mon, 15 Dec 2025 20:33:12 +0000
Karunika Choo <karunika.choo@xxxxxxx> wrote:
> This patch removes the MCU halt and wait for halt procedures during
> panthor_fw_unplug() as the MCU can be in a variety of states or the FW
> may not even be loaded/initialized at all, the latter of which can lead
> to a NULL pointer dereference.
>
> It should be safe on unplug to just disable the MCU without waiting for
> it to halt as it may not be able to.
>
> Fixes: 514072549865 ("drm/panthor: Support GLB_REQ.STATE field for Mali-G1 GPUs")
> Suggested-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx>
> Signed-off-by: Karunika Choo <karunika.choo@xxxxxxx>
Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx>
> ---
> drivers/gpu/drm/panthor/panthor_fw.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/panthor/panthor_fw.c b/drivers/gpu/drm/panthor/panthor_fw.c
> index 4beaa589ba66..a64ec8756bed 100644
> --- a/drivers/gpu/drm/panthor/panthor_fw.c
> +++ b/drivers/gpu/drm/panthor/panthor_fw.c
> @@ -1261,10 +1261,6 @@ void panthor_fw_unplug(struct panthor_device *ptdev)
> if (ptdev->fw->irq.irq)
> panthor_job_irq_suspend(&ptdev->fw->irq);
>
> - panthor_fw_halt_mcu(ptdev);
> - if (!panthor_fw_wait_mcu_halted(ptdev))
> - drm_warn(&ptdev->base, "Failed to halt MCU on unplug");
> -
> panthor_fw_stop(ptdev);
> }
>