[PATCH v7 3/3] drm/imagination: Release pm references in case of error
From: Alexandru Dadu
Date: Thu Sep 24 2026 - 03:35:43 EST
Add early release of the power references in case of errors.
Signed-off-by: Alexandru Dadu <alexandru.dadu@xxxxxxxxxx>
---
drivers/gpu/drm/imagination/pvr_queue.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/gpu/drm/imagination/pvr_queue.c b/drivers/gpu/drm/imagination/pvr_queue.c
index b58c0887cafe..c72f1d0b8bc0 100644
--- a/drivers/gpu/drm/imagination/pvr_queue.c
+++ b/drivers/gpu/drm/imagination/pvr_queue.c
@@ -820,6 +820,19 @@ static struct dma_fence *pvr_queue_run_job(struct drm_sched_job *sched_job)
if (WARN_ON(err))
goto err_release;
+ err = pvr_job_get_pm_ref(job);
+
+ if (WARN_ON(err))
+ goto err_release;
+
+ if (job->paired_job) {
+ err = pvr_job_get_pm_ref(job->paired_job);
+ if (WARN_ON(err)) {
+ pvr_job_release_pm_ref(job);
+ goto err_release;
+ }
+ }
+
return dma_fence_get(job->done_fence);
err_release:
--
2.43.0