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