[PATCH v6 3/3] drm/imagination: Release pm references in case of error
From: Alexandru Dadu
Date: Thu Sep 24 2026 - 02:22:30 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 | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/gpu/drm/imagination/pvr_queue.c b/drivers/gpu/drm/imagination/pvr_queue.c
index b58c0887cafe..1b013791897d 100644
--- a/drivers/gpu/drm/imagination/pvr_queue.c
+++ b/drivers/gpu/drm/imagination/pvr_queue.c
@@ -817,9 +817,19 @@ static struct dma_fence *pvr_queue_run_job(struct drm_sched_job *sched_job)
trace_pvr_job_submit_fw(job);
}
+ 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