Skip to contentSkip to conversation

FAILED: patch "[PATCH] drm/i915: Clear the in-use marker on execbuf failure" failed to apply to 4.16-stable tree

PATCH [email protected] 1 participant 1 message Apr 22, 2018

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.16-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From ed2f3532321083cf40e4da4e36234880e0136136 Mon Sep 17 00:00:00 2001

From: Chris Wilson <[email protected]>
Date: Mon, 19 Feb 2018 14:01:44 +0000
Subject: [PATCH] drm/i915: Clear the in-use marker on execbuf failure

If we fail to unbind the vma (due to a signal on an active buffer that needs to be moved for the next execbuf), then we need to clear the persistent tracking state we setup for this execbuf.

Fixes c7c6e46f913b ("drm/i915: Convert execbuf to use struct-of-array packing for critical fields")

Testcase: igt/gem_fenced_exec_thrash/no-spare-fences-busy*

drivers/gpu/drm/i915/i915_gem_execbuffer.c +2 -0
index 51f3c32c64bf..4eb28e84fda4 100644
@@ -505,6 +505,8 @@ eb_add_vma(struct i915_execbuffer *eb, unsigned int i, struct i915_vma *vma)
 		list_add_tail(&vma->exec_link, &eb->unbound);
 		if (drm_mm_node_allocated(&vma->node))
 			err = i915_vma_unbind(vma);
+		if (unlikely(err))
+			vma->exec_flags = NULL;
 	}
 	return err;
 }