[PATCH] drm/amdgpu: free handles after fini the context

Christian König deathsimple at vodafone.de
Mon Jul 25 14:16:40 UTC 2016


Am 25.07.2016 um 15:40 schrieb Leo Liu:
> This will make sure all the submissions from different contexts gets
> finished, and then we close the session and free up the handles.
>
> This will fix the issue that session clean-up is not get done properly,
> when with the command `kill -9'
>
> Signed-off-by: Leo Liu <leo.liu at amd.com>

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index 29bfd4c..0fb5488 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> @@ -578,6 +578,9 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
>   
>   	amdgpu_ctx_mgr_fini(&fpriv->ctx_mgr);
>   
> +	amdgpu_uvd_free_handles(adev, file_priv);
> +	amdgpu_vce_free_handles(adev, file_priv);
> +
>   	amdgpu_vm_fini(adev, &fpriv->vm);
>   
>   	idr_for_each_entry(&fpriv->bo_list_handles, list, handle)
> @@ -602,10 +605,6 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
>   void amdgpu_driver_preclose_kms(struct drm_device *dev,
>   				struct drm_file *file_priv)
>   {
> -	struct amdgpu_device *adev = dev->dev_private;
> -
> -	amdgpu_uvd_free_handles(adev, file_priv);
> -	amdgpu_vce_free_handles(adev, file_priv);
>   }
>   
>   /*




More information about the dri-devel mailing list