dma_fence_is_signaled_locked(), which is used in nouveau_fence_context_kill(), can signal fences below the surface through a callback.
There is neither need for nor use in doing that when killing a fence context. Replace dma_fence_is_signaled_locked() with __dma_fence_is_signaled(), a function which only checks, never signals. Signed-off-by: Philipp Stanner <pha...@kernel.org> --- drivers/gpu/drm/nouveau/nouveau_fence.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_fence.c b/drivers/gpu/drm/nouveau/nouveau_fence.c index d5654e26d5bc..993b3dcb5db0 100644 --- a/drivers/gpu/drm/nouveau/nouveau_fence.c +++ b/drivers/gpu/drm/nouveau/nouveau_fence.c @@ -88,7 +88,7 @@ nouveau_fence_context_kill(struct nouveau_fence_chan *fctx, int error) spin_lock_irqsave(&fctx->lock, flags); list_for_each_entry_safe(fence, tmp, &fctx->pending, head) { - if (error && !dma_fence_is_signaled_locked(&fence->base)) + if (error && !__dma_fence_is_signaled(&fence->base)) dma_fence_set_error(&fence->base, error); if (nouveau_fence_signal(fence)) -- 2.49.0