summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/ttm
diff options
context:
space:
mode:
authorThomas Hellstrom2012-10-22 14:51:25 +0200
committerDave Airlie2012-10-23 02:15:17 +0200
commit7bc17a7837bf4ec8fd2d63438c0b6b0160c454c1 (patch)
treea50f3d05f4cad2a8678bc452d9f535ab2d4e890b /drivers/gpu/drm/ttm
parentdrm: platform: Don't initialize driver-private data (diff)
downloadkernel-qcow2-linux-7bc17a7837bf4ec8fd2d63438c0b6b0160c454c1.tar.gz
kernel-qcow2-linux-7bc17a7837bf4ec8fd2d63438c0b6b0160c454c1.tar.xz
kernel-qcow2-linux-7bc17a7837bf4ec8fd2d63438c0b6b0160c454c1.zip
drm/ttm: Fix a theoretical race
The ttm_mem_evict_first function could theoretically drop the lru lock without retrying if a reservation from off the LRU list ended up waiting. However, since currently there are no users that could cause a wait in that situation so this is not suitable for stable Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/ttm')
-rw-r--r--drivers/gpu/drm/ttm/ttm_bo.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index 402ab69f9f99..d42631cade5a 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -817,11 +817,11 @@ retry:
goto retry;
}
- ret = ttm_bo_reserve_locked(bo, false, no_wait_reserve, false, 0);
+ ret = ttm_bo_reserve_locked(bo, false, true, false, 0);
if (unlikely(ret == -EBUSY)) {
spin_unlock(&glob->lru_lock);
- if (likely(!no_wait_gpu))
+ if (likely(!no_wait_reserve))
ret = ttm_bo_wait_unreserved(bo, interruptible);
kref_put(&bo->list_kref, ttm_bo_release_list);