On Tue, Jun 6, 2023 at 7:33 AM Erico Nunes <nunes.erico@xxxxxxxxx> wrote: > > 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 2fdb8a8f07c2 ("drm/scheduler: rework entity flush, kill and fini") > where some specific types of applications may hang indefinitely. > > Fixes: 2fdb8a8f07c2 ("drm/scheduler: rework entity flush, kill and fini") > Signed-off-by: Erico Nunes <nunes.erico@xxxxxxxxx> Reviewed-by: Vasily Khoruzhick <anarsoul@xxxxxxxxx> > --- > drivers/gpu/drm/lima/lima_sched.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/lima/lima_sched.c b/drivers/gpu/drm/lima/lima_sched.c > index ff003403fbbc..ffd91a5ee299 100644 > --- a/drivers/gpu/drm/lima/lima_sched.c > +++ b/drivers/gpu/drm/lima/lima_sched.c > @@ -165,7 +165,7 @@ int lima_sched_context_init(struct lima_sched_pipe *pipe, > void lima_sched_context_fini(struct lima_sched_pipe *pipe, > struct lima_sched_context *context) > { > - drm_sched_entity_fini(&context->base); > + drm_sched_entity_destroy(&context->base); > } > > struct dma_fence *lima_sched_context_queue_task(struct lima_sched_task *task) > -- > 2.40.1 >