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 3939761..d45ebfb 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))