drm/ttm: use ttm put pages function to properly restore cache attribute
authorJerome Glisse <jglisse@redhat.com>
Thu, 3 Nov 2011 05:22:39 +0000 (01:22 -0400)
committerDave Airlie <airlied@redhat.com>
Tue, 6 Dec 2011 10:38:57 +0000 (10:38 +0000)
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>
drivers/gpu/drm/ttm/ttm_tt.c

index f0c5ffd446d9b2b8f03c5cb175b1824d6ac9b71b..90527a2ce04cd47cbc054265c2cde0c084bd04f0 100644 (file)
@@ -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;
 }