drm/i915/gtt: Don't try to clear failed empty pd allocation
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Fri, 19 Jul 2019 15:33:22 +0000 (15:33 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 19 Jul 2019 16:15:40 +0000 (17:15 +0100)
When __gen8_ppgtt_alloc fails without allocating anything
we should not try to call __gen8_ppgtt_clear as there is
nothing to clear and underlying code will complain with:

[  157.861645] gen8_pd_range:881 GEM_BUG_ON(start >= end)

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190719153322.10464-1-michal.wajdeczko@intel.com
drivers/gpu/drm/i915/i915_gem_gtt.c

index 031bcd22f5e6ed7d0b52bdb8aed893ab156b7b70..0930455824b4c01da53bc513b0c5d48d84b0bc66 100644 (file)
@@ -1116,7 +1116,7 @@ static int gen8_ppgtt_alloc(struct i915_address_space *vm,
 
        err = __gen8_ppgtt_alloc(vm, i915_vm_to_ppgtt(vm)->pd,
                                 &start, start + length, vm->top);
-       if (unlikely(err))
+       if (unlikely(err && from != start))
                __gen8_ppgtt_clear(vm, i915_vm_to_ppgtt(vm)->pd,
                                   from, start, vm->top);