drm/i915: Initialize return value for empty i915_gem_object_unbind()
authorChris Wilson <chris@chris-wilson.co.uk>
Sun, 14 Aug 2016 17:44:40 +0000 (18:44 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Sun, 14 Aug 2016 18:38:26 +0000 (19:38 +0100)
If the obj->vma_list is empty, we immediately return ret. However, we
are doing so having never set it to any value, it should be zero!

Reported-by: Matthew Auld <matthew.auld@intel.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=97343
Fixes: aa653a685d81 ("drm/i915: Be more careful when unbinding vma")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1471196681-30043-1-git-send-email-chris@chris-wilson.co.uk
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
drivers/gpu/drm/i915/i915_gem.c

index 75a57e2..ac706f3 100644 (file)
@@ -279,12 +279,11 @@ static const struct drm_i915_gem_object_ops i915_gem_phys_ops = {
        .release = i915_gem_object_release_phys,
 };
 
-int
-i915_gem_object_unbind(struct drm_i915_gem_object *obj)
+int i915_gem_object_unbind(struct drm_i915_gem_object *obj)
 {
        struct i915_vma *vma;
        LIST_HEAD(still_in_list);
-       int ret;
+       int ret = 0;
 
        /* The vma will only be freed if it is marked as closed, and if we wait
         * upon rendering to the vma, we may unbind anything in the list.