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); > } > > /*