From 7743af94492681f5aaf7cfdef78d695a6db7cbd0 Mon Sep 17 00:00:00 2001 From: Thomas Hellstrom Date: Fri, 30 Mar 2007 14:14:26 +0200 Subject: Evicted no-move buffers can get lost if they end up in another memory type than local. --- linux-core/drm_bo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'linux-core/drm_bo.c') diff --git a/linux-core/drm_bo.c b/linux-core/drm_bo.c index cea6ef62..17d6fbc0 100644 --- a/linux-core/drm_bo.c +++ b/linux-core/drm_bo.c @@ -75,7 +75,8 @@ void drm_bo_add_to_lru(drm_buffer_object_t * bo) { drm_mem_type_manager_t *man; - if (!(bo->mem.mask & (DRM_BO_FLAG_NO_MOVE | DRM_BO_FLAG_NO_EVICT))) { + if (!(bo->mem.mask & (DRM_BO_FLAG_NO_MOVE | DRM_BO_FLAG_NO_EVICT)) + || bo->mem.mem_type != bo->pinned_mem_type) { man = &bo->dev->bm.man[bo->mem.mem_type]; list_add_tail(&bo->lru, &man->lru); } else { -- cgit v1.2.3