From 5e2656804a34f58c2bf557465ab77f8a26a500eb Mon Sep 17 00:00:00 2001
From: Jerome Glisse <jglisse@redhat.com>
Date: Thu, 3 Nov 2011 01:22:39 -0400
Subject: drm/ttm: use ttm put pages function to properly restore cache
 attribute
Git-commit: 5e2656804a34f58c2bf557465ab77f8a26a500eb
Patch-mainline: v3.3-rc1

On failure we need to make sure the page we free has wb cache
attribute. Do this pas call the proper ttm page helper function.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Acked-by: Michal Srb <msrb@suse.com>
---
 drivers/gpu/drm/ttm/ttm_tt.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c
index f0c5ffd..90527a2 100644
--- a/drivers/gpu/drm/ttm/ttm_tt.c
+++ b/drivers/gpu/drm/ttm/ttm_tt.c
@@ -90,7 +90,10 @@ static struct page *__ttm_tt_get_page(struct ttm_tt *ttm, int index)
 	}
 	return p;
 out_err:
-	put_page(p);
+	INIT_LIST_HEAD(&h);
+	list_add(&p->lru, &h);
+	ttm_put_pages(&h, 1, ttm->page_flags,
+		      ttm->caching_state, &ttm->dma_address[index]);
 	return NULL;
 }
 

