summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/scheduler/sched_main.c
diff options
context:
space:
mode:
authorRob Clark <robdclark@chromium.org>2021-12-06 09:13:49 -0800
committerRob Clark <robdclark@chromium.org>2021-12-06 09:14:28 -0800
commit83b965d118cbab1dbdfffdff8cabc8c1cfd183c6 (patch)
treef46a8f6d854b05a47311125f6fd6b6081e79557a /drivers/gpu/drm/scheduler/sched_main.c
parentfee32807633395e666f0951d6b7b6546e9b76c3d (diff)
parentc305ae99dfd4d0fe70c7fdf13ef5f7650a804ea7 (diff)
Merge remote-tracking branch 'drm/drm-next' into msm-next-staging
Backmerge drm-next to pull in: 8f59ee9a570c ("drm/msm/dsi: Adjust probe order") Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/scheduler/sched_main.c')
-rw-r--r--drivers/gpu/drm/scheduler/sched_main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c
index 5bc5f775abe1..f91fb31ab7a7 100644
--- a/drivers/gpu/drm/scheduler/sched_main.c
+++ b/drivers/gpu/drm/scheduler/sched_main.c
@@ -704,9 +704,13 @@ int drm_sched_job_add_implicit_dependencies(struct drm_sched_job *job,
int ret;
dma_resv_for_each_fence(&cursor, obj->resv, write, fence) {
+ /* Make sure to grab an additional ref on the added fence */
+ dma_fence_get(fence);
ret = drm_sched_job_add_dependency(job, fence);
- if (ret)
+ if (ret) {
+ dma_fence_put(fence);
return ret;
+ }
}
return 0;
}