aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2015-08-25 09:05:20 -0400
committerAlex Deucher <alexander.deucher@amd.com>2015-08-26 17:51:37 -0400
commit02537d63623ce5281c20d76f1b61797a7836acf4 (patch)
tree110a8cb3b126d60f7855dafd9eb2546427341292 /drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
parentc7ae72c01be10f539f385f624713f8ba0aa11a8f (diff)
drm/amdgpu: fix postclose order
The context needs to finish before everything else. Signed-off-by: Christian König <christian.koenig@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index 87da6b1848fd..22367939ebf1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -560,6 +560,8 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
560 if (!fpriv) 560 if (!fpriv)
561 return; 561 return;
562 562
563 amdgpu_ctx_mgr_fini(&fpriv->ctx_mgr);
564
563 amdgpu_vm_fini(adev, &fpriv->vm); 565 amdgpu_vm_fini(adev, &fpriv->vm);
564 566
565 idr_for_each_entry(&fpriv->bo_list_handles, list, handle) 567 idr_for_each_entry(&fpriv->bo_list_handles, list, handle)
@@ -568,8 +570,6 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
568 idr_destroy(&fpriv->bo_list_handles); 570 idr_destroy(&fpriv->bo_list_handles);
569 mutex_destroy(&fpriv->bo_list_lock); 571 mutex_destroy(&fpriv->bo_list_lock);
570 572
571 amdgpu_ctx_mgr_fini(&fpriv->ctx_mgr);
572
573 kfree(fpriv); 573 kfree(fpriv);
574 file_priv->driver_priv = NULL; 574 file_priv->driver_priv = NULL;
575} 575}