diff mbox

[16/29] drm/i915: Cleanup more of VMA in destroy

Message ID 1375315222-4785-17-git-send-email-ben@bwidawsk.net (mailing list archive)
State New, archived
Headers show

Commit Message

Ben Widawsky Aug. 1, 2013, midnight UTC
Remove the VMA from the object's list, and remove the VMA's node from
the allocator. This just helps avoid duplication, since we always want
those two things to occur on destroy, and at least for now, we only do
those two actions on destroy anyway.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
---
 drivers/gpu/drm/i915/i915_gem.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 8ce3545..4b669e8 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2640,8 +2640,6 @@  i915_gem_object_unbind(struct drm_i915_gem_object *obj)
 	obj->map_and_fenceable = true;
 
 	vma = i915_gem_obj_to_vma(obj, &dev_priv->gtt.base);
-	list_del(&vma->vma_link);
-	drm_mm_remove_node(&vma->node);
 	i915_gem_vma_destroy(vma);
 
 	/* Since the unbound list is global, only move to that list if
@@ -3176,7 +3174,6 @@  search_free:
 	return 0;
 
 err_out:
-	drm_mm_remove_node(&vma->node);
 	i915_gem_vma_destroy(vma);
 	i915_gem_object_unpin_pages(obj);
 	return ret;
@@ -4020,7 +4017,8 @@  struct i915_vma *i915_gem_vma_create(struct drm_i915_gem_object *obj,
 
 void i915_gem_vma_destroy(struct i915_vma *vma)
 {
-	WARN_ON(vma->node.allocated);
+	list_del_init(&vma->vma_link);
+	drm_mm_remove_node(&vma->node);
 	kfree(vma);
 }