On Tue, Apr 15, 2025 at 02:19:00PM +0200, Philipp Stanner wrote: > Nouveau is mostly designed in a way that it's expected that fences only > ever get signaled through nouveau_fence_signal(). However, in at least > one other place, nouveau_fence_done(), can signal fences, too. If that > happens (race) a signaled fence remains in the pending list for a while, > until it gets removed by nouveau_fence_update(). > > Should nouveau_fence_context_kill() run in the meantime, this would be > a bug because the function would attempt to set an error code on an > already signaled fence. > > Have nouveau_fence_context_kill() check for a fence being signaled. > > Cc: <sta...@vger.kernel.org> # v5.10+ > Fixes: ea13e5abf807 ("drm/nouveau: signal pending fences when channel has > been killed") > Suggested-by: Christian König <christian.koe...@amd.com> > Signed-off-by: Philipp Stanner <pha...@kernel.org>
Applied to drm-misc-fixes, thanks!