mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
drm/nouveau: Fix double call to drm_sched_entity_fini()
nouveau_abi16_chan_fini() does invoke drm_sched_entity_fini() twice:
Once directly, and a second time through nouveau_sched_destroy().
That's likely undesired behavior and might be a bug since
drm_sched_entity_fini() decrements reference counts.
Fix the issue by using the appropriate function,
drm_sched_entity_kill(), to kill all remaining jobs within the entity.
Cc: stable@kernel.vger.org
Fixes: 9a0c32d698 ("drm/nouveau: don't fini scheduler if not initialized")
Suggested-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Philipp Stanner <phasta@kernel.org>
Link: https://patch.msgid.link/20260415144956.272506-3-phasta@kernel.org
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
This commit is contained in:
parent
2f5f05633e
commit
cac96c8d93
|
|
@ -176,7 +176,7 @@ nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16,
|
|||
|
||||
/* Cancel all jobs from the entity's queue. */
|
||||
if (chan->sched)
|
||||
drm_sched_entity_fini(&chan->sched->entity);
|
||||
drm_sched_entity_kill(&chan->sched->entity);
|
||||
|
||||
if (chan->chan)
|
||||
nouveau_channel_idle(chan->chan);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user