diff options
author | Jerome Glisse <jglisse@redhat.com> | 2011-11-03 01:22:39 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-12-06 10:38:57 +0000 |
commit | 5e2656804a34f58c2bf557465ab77f8a26a500eb (patch) | |
tree | 1da5f23cbe2d67150c5998dc74c4647f004f918d /drivers/gpu/drm/ttm | |
parent | a14af87b0b6f5c1d44c1adaa07f1bd347f81dc04 (diff) | |
download | op-kernel-dev-5e2656804a34f58c2bf557465ab77f8a26a500eb.zip op-kernel-dev-5e2656804a34f58c2bf557465ab77f8a26a500eb.tar.gz |
drm/ttm: use ttm put pages function to properly restore cache attribute
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>
Diffstat (limited to 'drivers/gpu/drm/ttm')
-rw-r--r-- | 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; } |