drm/panthor: Fix the panthor_gpu_coherency_init() error path

The panthor_gpu_coherency_init() call has been moved around, but the
error path hasn't been adjusted accordingly. Make sure we undo what
has been done before this call in case of failure.

Fixes: 7d5a3b22f5b5 ("drm/panthor: Call panthor_gpu_coherency_init() after PM resume()")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/dri-devel/4da470aa-4f84-460e-aff8-dabc8cc4da15@stanley.mountain/T/#t
Reviewed-by: Steven Price <steven.price@arm.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://lore.kernel.org/r/20250414130120.581274-1-boris.brezillon@collabora.com
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
This commit is contained in:
Boris Brezillon 2025-04-14 15:01:20 +02:00 committed by Igor
parent 2225ea242c
commit c35fb8e694

View file

@ -241,7 +241,7 @@ int panthor_device_init(struct panthor_device *ptdev)
ret = pm_runtime_resume_and_get(ptdev->base.dev);
if (ret)
goto err_unplug_gpu;
return ret;
/* If PM is disabled, we need to call panthor_device_resume() manually. */
if (!IS_ENABLED(CONFIG_PM)) {
@ -256,7 +256,7 @@ int panthor_device_init(struct panthor_device *ptdev)
ret = panthor_gpu_coherency_init(ptdev);
if (ret)
return ret;
goto err_unplug_gpu;
ret = panthor_mmu_init(ptdev);
if (ret)