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. 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; >> >> >