summaryrefslogtreecommitdiff
path: root/linux-core/drm_bo_move.c
diff options
context:
space:
mode:
authorThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2007-02-12 20:32:03 +0100
committerThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2007-02-12 20:32:03 +0100
commitb0c5339ed69c6ff08b7817f870e895aae2ef04c7 (patch)
treeba02dd34d7ab721298de2ce16a9c774713817ad5 /linux-core/drm_bo_move.c
parentf02f83ee08a2bb87700544a9b67f475532e84af4 (diff)
More bugfixes.
Diffstat (limited to 'linux-core/drm_bo_move.c')
-rw-r--r--linux-core/drm_bo_move.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/linux-core/drm_bo_move.c b/linux-core/drm_bo_move.c
index c6fe4ec2..1d142087 100644
--- a/linux-core/drm_bo_move.c
+++ b/linux-core/drm_bo_move.c
@@ -365,7 +365,8 @@ int drm_bo_move_accel_cleanup(drm_buffer_object_t *bo,
*/
if (1)
#else
- if (evict)
+ if (evict || ((bo->mem.mm_node == bo->pinned_node) &&
+ bo->mem.mm_node != NULL))
#endif
{
ret = drm_bo_wait(bo, 0, 1, 0);
@@ -402,11 +403,7 @@ int drm_bo_move_accel_cleanup(drm_buffer_object_t *bo,
mutex_lock(&dev->struct_mutex);
list_del_init(&old_obj->lru);
DRM_FLAG_MASKED(bo->priv_flags, 0, _DRM_BO_FLAG_UNFENCED);
-
- if (old_obj->mem.mm_node == bo->pinned_node)
- old_obj->mem.mm_node = NULL;
- else
- drm_bo_add_to_lru(old_obj);
+ drm_bo_add_to_lru(old_obj);
drm_bo_usage_deref_locked(old_obj);
mutex_unlock(&dev->struct_mutex);