浏览代码

drm/radeon: reset BOs address after clearing it.

Otherwise it is possible that we will have page table corruption
if we change a BOs address multiple times.

Signed-off-by: Christian König <christian.koenig@amd.com>
CC: stable@vger.kernel.org
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Christian König 10 年之前
父节点
当前提交
48afbd70ac
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      drivers/gpu/drm/radeon/radeon_vm.c

+ 2 - 0
drivers/gpu/drm/radeon/radeon_vm.c

@@ -490,6 +490,8 @@ int radeon_vm_bo_set_addr(struct radeon_device *rdev,
 			spin_lock(&vm->status_lock);
 			spin_lock(&vm->status_lock);
 			list_add(&tmp->vm_status, &vm->freed);
 			list_add(&tmp->vm_status, &vm->freed);
 			spin_unlock(&vm->status_lock);
 			spin_unlock(&vm->status_lock);
+
+			bo_va->addr = 0;
 		}
 		}
 
 
 		interval_tree_remove(&bo_va->it, &vm->va);
 		interval_tree_remove(&bo_va->it, &vm->va);