aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2015-04-27 17:04:35 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-05-13 05:14:31 -0700
commite488a25194bbbb0e4e472cf30932db3e467dc3a9 (patch)
treef2f641bf3de660101b5c5114958023c708eeeacd /drivers
parent01c74f735d649f061287190a289bbbee000bd2a2 (diff)
drm/radeon: reset BOs address after clearing it.
commit 48afbd70ac7b6aa62e8d452091023941d8085f8a upstream. 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> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/radeon/radeon_vm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_vm.c b/drivers/gpu/drm/radeon/radeon_vm.c
index 16d8e95abd94..cabcb0aafe03 100644
--- a/drivers/gpu/drm/radeon/radeon_vm.c
+++ b/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);
list_add(&tmp->vm_status, &vm->freed);
spin_unlock(&vm->status_lock);
+
+ bo_va->addr = 0;
}
interval_tree_remove(&bo_va->it, &vm->va);