OSDN Git Service

drm/amdgpu: Fix KFD-related kernel oops on Hawaii
authorFelix Kuehling <Felix.Kuehling@amd.com>
Thu, 5 Sep 2019 23:22:02 +0000 (19:22 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 16 Sep 2019 15:10:06 +0000 (10:10 -0500)
Hawaii needs to flush caches explicitly, submitting an IB in a user
VMID from kernel mode. There is no s_fence in this case.

Fixes: eb3961a57424 ("drm/amdgpu: remove fence context from the job")
Signed-off-by: Felix Kuehling <Felix.Kuehling@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_ib.c

index 7850084..6065583 100644 (file)
@@ -143,7 +143,8 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,
        /* ring tests don't use a job */
        if (job) {
                vm = job->vm;
-               fence_ctx = job->base.s_fence->scheduled.context;
+               fence_ctx = job->base.s_fence ?
+                       job->base.s_fence->scheduled.context : 0;
        } else {
                vm = NULL;
                fence_ctx = 0;