]> Pileus Git - ~andy/linux/commitdiff
drm/i915: WARN if the fence pin_count is invalid
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 12 Jun 2013 10:29:47 +0000 (11:29 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 12 Jun 2013 10:36:43 +0000 (12:36 +0200)
Stéphane Marchesin found a bug where the fences were not being restored,
and in particular the fence pin_count was incorrect. Had we had a
warning in place, this bug would have come to light much earlier. Better
late than never?

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Stéphane Marchesin <marcheu@chromium.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.h

index eaa04a6808cbef15414fd85136c819640a42c67d..e5b8ae42859a49e41e94beec161bf2ecc17b5d4d 100644 (file)
@@ -1703,6 +1703,7 @@ i915_gem_object_unpin_fence(struct drm_i915_gem_object *obj)
 {
        if (obj->fence_reg != I915_FENCE_REG_NONE) {
                struct drm_i915_private *dev_priv = obj->base.dev->dev_private;
+               WARN_ON(dev_priv->fence_regs[obj->fence_reg].pin_count <= 0);
                dev_priv->fence_regs[obj->fence_reg].pin_count--;
        }
 }