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

Chris Wilson chris at chris-wilson.co.uk
Thu Aug 6 16:10:56 UTC 2020


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>
---
 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;
 		}
-- 
2.20.1



More information about the Intel-gfx mailing list