[Intel-gfx] [PATCH] drm/i915/gem: Free the fence after a fence-chain lookup failure

Lionel Landwerlin lionel.g.landwerlin at intel.com
Thu Aug 6 17:29:14 UTC 2020


On 06/08/2020 19:10, Chris Wilson wrote:
> If dma_fence_chain_find_seqno() reports an error, it does so in its
> preamable before it disposes of the input fence. On handling the
> error, we need to drop the reference to the fence.
>
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2292
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Lionel Landwerlin <lionel.g.landwerlin at intel.com>

Oops...

Fixes: dc61199c09b1 ("drm/i915: add syncobj timeline support")

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>


> ---
>   drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> index 9ce114d67288..24a1486d2dc5 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> @@ -2289,6 +2289,7 @@ add_timeline_fence_array(struct i915_execbuffer *eb,
>   
>   		if (err && !(user_fence.flags & I915_EXEC_FENCE_SIGNAL)) {
>   			DRM_DEBUG("Syncobj handle missing requested point %llu\n", point);
> +			dma_fence_put(fence);
>   			drm_syncobj_put(syncobj);
>   			return err;
>   		}




More information about the Intel-gfx mailing list