ttm: Return -ERESTART when a signal interrupts bo eviction.
A bug caused the ttm code to just terminate the wait when a signal was received while waiting for the GPU to release a buffer object that was to be evicted. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
9a298b2acd
commit
78ecf091aa
|
@ -527,9 +527,12 @@ static int ttm_bo_evict(struct ttm_buffer_object *bo, unsigned mem_type,
|
|||
ret = ttm_bo_wait(bo, false, interruptible, no_wait);
|
||||
spin_unlock(&bo->lock);
|
||||
|
||||
if (ret && ret != -ERESTART) {
|
||||
printk(KERN_ERR TTM_PFX "Failed to expire sync object before "
|
||||
"buffer eviction.\n");
|
||||
if (unlikely(ret != 0)) {
|
||||
if (ret != -ERESTART) {
|
||||
printk(KERN_ERR TTM_PFX
|
||||
"Failed to expire sync object before "
|
||||
"buffer eviction.\n");
|
||||
}
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue