drm/i915: Fix assert in i915_ggtt_pin
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>
Fri, 29 Apr 2022 14:07:57 +0000 (15:07 +0100)
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>
Tue, 3 May 2022 14:45:33 +0000 (15:45 +0100)
Use lockdep_assert_not_held to simplify and correct the code. Otherwise
false positive are hit if lock state is uknown like after a previous
taint.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220429140757.651406-1-tvrtko.ursulin@linux.intel.com
drivers/gpu/drm/i915/i915_vma.c

index 033ef69..cb3c943 100644 (file)
@@ -1562,9 +1562,7 @@ int i915_ggtt_pin(struct i915_vma *vma, struct i915_gem_ww_ctx *ww,
        if (ww)
                return __i915_ggtt_pin(vma, ww, align, flags);
 
-#ifdef CONFIG_LOCKDEP
-       WARN_ON(dma_resv_held(vma->obj->base.resv));
-#endif
+       lockdep_assert_not_held(&vma->obj->base.resv->lock.base);
 
        for_i915_gem_ww(&_ww, err, true) {
                err = i915_gem_object_lock(vma->obj, &_ww);