Browse Source

drm/amdgpu: fix vm init error path

Signed-off-by: Chunming Zhou <David1.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Chunming Zhou 9 years ago
parent
commit
64827adc9e
1 changed files with 4 additions and 1 deletions
  1. 4 1
      drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

+ 4 - 1
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

@@ -1535,7 +1535,7 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm)
 	r = amd_sched_entity_init(&ring->sched, &vm->entity,
 	r = amd_sched_entity_init(&ring->sched, &vm->entity,
 				  rq, amdgpu_sched_jobs);
 				  rq, amdgpu_sched_jobs);
 	if (r)
 	if (r)
-		return r;
+		goto err;
 
 
 	vm->page_directory_fence = NULL;
 	vm->page_directory_fence = NULL;
 
 
@@ -1565,6 +1565,9 @@ error_free_page_directory:
 error_free_sched_entity:
 error_free_sched_entity:
 	amd_sched_entity_fini(&ring->sched, &vm->entity);
 	amd_sched_entity_fini(&ring->sched, &vm->entity);
 
 
+err:
+	drm_free_large(vm->page_tables);
+
 	return r;
 	return r;
 }
 }