As soon as the prepare phase is completed the VM might be released,
better set it to NULL.

Signed-off-by: Christian König <christian.koe...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
index b9d08bc96581..7fdf7b047317 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
@@ -367,6 +367,13 @@ amdgpu_job_prepare_job(struct drm_sched_job *sched_job,
                        dev_err(ring->adev->dev, "Error getting VM ID (%d)\n", 
r);
                        goto error;
                }
+               /*
+                * The VM structure might be released after the VMID is
+                * assigned, we had multiple problems with people trying to use
+                * the VM pointer so better set it to NULL.
+                */
+               if (!fence)
+                       job->vm = NULL;
        }
 
        return fence;
-- 
2.34.1

Reply via email to