On Tue, 14 Dec 2021, Matthew Brost <matthew.brost@xxxxxxxxx> wrote: > Increment composite fence seqno on each fence creation. > > Fixes: 544460c33821 ("drm/i915: Multi-BB execbuf") > Signed-off-by: Matthew Brost <matthew.brost@xxxxxxxxx> > --- > drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c > index 2213f7b613da..96cf8361b017 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c > @@ -3113,7 +3113,7 @@ eb_composite_fence_create(struct i915_execbuffer *eb, int out_fence_fd) > fence_array = dma_fence_array_create(eb->num_batches, > fences, > eb->context->parallel.fence_context, > - eb->context->parallel.seqno, > + eb->context->parallel.seqno++, > false); > if (!fence_array) { > kfree(fences); I have no idea what's going on, but the feeling I get from "code smells" just in this small snippet is that the seqno++ does not take the error path here into account. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center