Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 05f19eb5 authored by Monk Liu's avatar Monk Liu Committed by Alex Deucher
Browse files

drm/amdgpu: fix uvd fini mem leak

parent e517cd77
Loading
Loading
Loading
Loading
+10 −9
Original line number Original line Diff line number Diff line
@@ -253,11 +253,11 @@ int amdgpu_uvd_sw_fini(struct amdgpu_device *adev)
{
{
	int r;
	int r;


	if (adev->uvd.vcpu_bo == NULL)
	kfree(adev->uvd.saved_bo);
		return 0;


	amd_sched_entity_fini(&adev->uvd.ring.sched, &adev->uvd.entity);
	amd_sched_entity_fini(&adev->uvd.ring.sched, &adev->uvd.entity);


	if (adev->uvd.vcpu_bo) {
		r = amdgpu_bo_reserve(adev->uvd.vcpu_bo, false);
		r = amdgpu_bo_reserve(adev->uvd.vcpu_bo, false);
		if (!r) {
		if (!r) {
			amdgpu_bo_kunmap(adev->uvd.vcpu_bo);
			amdgpu_bo_kunmap(adev->uvd.vcpu_bo);
@@ -266,6 +266,7 @@ int amdgpu_uvd_sw_fini(struct amdgpu_device *adev)
		}
		}


		amdgpu_bo_unref(&adev->uvd.vcpu_bo);
		amdgpu_bo_unref(&adev->uvd.vcpu_bo);
	}


	amdgpu_ring_fini(&adev->uvd.ring);
	amdgpu_ring_fini(&adev->uvd.ring);