]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdgpu: seq64 memory unmap uses uninterruptible lock
authorPhilip Yang <Philip.Yang@amd.com>
Wed, 14 May 2025 15:13:52 +0000 (11:13 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 22 May 2025 16:03:02 +0000 (12:03 -0400)
To unmap and free seq64 memory when drm node close to free vm, if there
is signal accepted, then taking vm lock failed and leaking seq64 va
mapping, and then dmesg has error log "still active bo inside vm".

Change to use uninterruptible lock fix the mapping leaking and no dmesg
error log.

Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c

index 3939761be31c9a5d2d9c073bff11712010ffab9d..d45ebfb642ca94f630f7bdbf436b946138668015 100644 (file)
@@ -139,7 +139,7 @@ void amdgpu_seq64_unmap(struct amdgpu_device *adev, struct amdgpu_fpriv *fpriv)
 
        vm = &fpriv->vm;
 
-       drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT, 0);
+       drm_exec_init(&exec, 0, 0);
        drm_exec_until_all_locked(&exec) {
                r = amdgpu_vm_lock_pd(vm, &exec, 0);
                if (likely(!r))