[Nouveau] [PATCH 1/2] drm/nouveau: Unmap pushbuf BOs when we're done with them.

Francisco Jerez currojerez at riseup.net
Thu Feb 18 19:59:09 PST 2010


If you're especially unlucky BOs would move around and their kmaps
would end up pointing to something else in GART, then ioctl_pushbuf()
would use the kmaps again corrupting textures or other pushbufs (the
most noticeable symptom was a PFIFO_DMA_PUSHER from time to time).

Signed-off-by: Francisco Jerez <currojerez at riseup.net>
---
 drivers/gpu/drm/nouveau/nouveau_gem.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c
index fb6d87b..ec6da5c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_gem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
@@ -243,6 +243,8 @@ validate_fini_list(struct list_head *list, struct nouveau_fence *fence)
 			nouveau_fence_unref((void *)&prev_fence);
 		}
 
+		ttm_bo_kunmap(&nvbo->kmap);
+
 		list_del(&nvbo->entry);
 		nvbo->reserved_by = NULL;
 		ttm_bo_unreserve(&nvbo->bo);
-- 
1.6.4.4



More information about the Nouveau mailing list