summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2020-03-16 20:54:50 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2020-03-17 00:22:34 +0000
commit220a6704ff4373cf1573b663d90d632ea0740210 (patch)
tree6cbd5d87cb6ca69305d08edb3c3d978960b8d02a
parent0b6bc81dbd6dd2f6132c623e9c3df33fe3397e94 (diff)
downloadlinux-220a6704ff4373cf1573b663d90d632ea0740210.tar.bz2
drm/i915/gt: Restore check for invalid vma for fencing
Apparently we do try and attach a fence to an invalid vma (during execbuf) so we cannot simply assert it never happens and report EINVAL instead. Fixes: dec9cf9ee8cb ("drm/i915/gt: Pull restoration of GGTT fences underneath the GT") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200316205450.15843-1-chris@chris-wilson.co.uk
-rw-r--r--drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c b/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c
index b6ba68c42546..225970f4a4ef 100644
--- a/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c
+++ b/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c
@@ -233,10 +233,12 @@ static int fence_update(struct i915_fence_reg *fence,
int ret;
if (vma) {
- GEM_BUG_ON(!i915_vma_is_map_and_fenceable(vma));
GEM_BUG_ON(!i915_gem_object_get_stride(vma->obj) ||
!i915_gem_object_get_tiling(vma->obj));
+ if (!i915_vma_is_map_and_fenceable(vma))
+ return -EINVAL;
+
ret = i915_vma_sync(vma);
if (ret)
return ret;