Skip to content

Commit 6eea63c

Browse files
enunesyuq
authored andcommitted
drm/lima: fix sched context destroy
The drm sched entity must be flushed before finishing, to account for jobs potentially still in flight at that time. Lima did not do this flush until now, so switch the destroy call to the drm_sched_entity_destroy() wrapper which will take care of that. This fixes a regression on lima which started since the rework in commit 2fdb8a8 ("drm/scheduler: rework entity flush, kill and fini") where some specific types of applications may hang indefinitely. Fixes: 2fdb8a8 ("drm/scheduler: rework entity flush, kill and fini") Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Qiang Yu <yuq825@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230606143247.433018-1-nunes.erico@gmail.com
1 parent 4113602 commit 6eea63c

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/gpu/drm/lima/lima_sched.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ int lima_sched_context_init(struct lima_sched_pipe *pipe,
165165
void lima_sched_context_fini(struct lima_sched_pipe *pipe,
166166
struct lima_sched_context *context)
167167
{
168-
drm_sched_entity_fini(&context->base);
168+
drm_sched_entity_destroy(&context->base);
169169
}
170170

171171
struct dma_fence *lima_sched_context_queue_task(struct lima_sched_task *task)

0 commit comments

Comments
 (0)