Am 13.02.2017 um 18:32 schrieb Nicolai Hähnle: > On 13.02.2017 17:40, Nicolai Hähnle wrote: >> On 13.02.2017 14:23, Christian König wrote: >>> From: Christian König <christian.koenig at amd.com> >>> >>> We need to unmap the PRTs first and then free our scheduler entity. >> >> Thanks for the quick fix! Both patches are >> >> Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com> >> >> ... and I'll probably get around to testing them soon, as well. > > Hmm, I still get both the "suspicious RCU" and amdgpu_bo_gpu_offset > warning. Yeah, that's actually another issue. Going to work on that as well. I probably should come up with a more complete solution covering both cases. Regards, Christian. > > Nicolai > >> >>> >>> Signed-off-by: Christian König <christian.koenig at amd.com> >>> --- >>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> index bc32239..0b7386e 100644 >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >>> @@ -1687,8 +1687,6 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, >>> struct amdgpu_vm *vm) >>> struct amdgpu_bo_va_mapping *mapping, *tmp; >>> int i; >>> >>> - amd_sched_entity_fini(vm->entity.sched, &vm->entity); >>> - >>> if (!RB_EMPTY_ROOT(&vm->va)) { >>> dev_err(adev->dev, "still active bo inside vm\n"); >>> } >>> @@ -1706,6 +1704,8 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, >>> struct amdgpu_vm *vm) >>> } >>> amdgpu_vm_clear_freed(adev, vm); >>> >>> + amd_sched_entity_fini(vm->entity.sched, &vm->entity); >>> + >>> for (i = 0; i < amdgpu_vm_num_pdes(adev); i++) { >>> struct amdgpu_bo *pt = vm->page_tables[i].bo; >>> >>> >> >