drm/amdgpu: fix stoping the scheduler timeout
authorChristian König <christian.koenig@amd.com>
Mon, 2 Nov 2015 15:25:10 +0000 (16:25 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 4 Nov 2015 17:29:21 +0000 (12:29 -0500)
cancel_delayed_work_sync is forbidden in interrupt context.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c

index b3e84d0f4aced965dfe20ec4ea4c4a7d208bc88d..89619a5a4289b882bfbed1a8f3e84dcd6bb3b582 100644 (file)
@@ -338,7 +338,7 @@ static void amd_sched_process_job(struct fence *f, struct fence_cb *cb)
        atomic_dec(&sched->hw_rq_count);
        amd_sched_fence_signal(s_fence);
        if (sched->timeout != MAX_SCHEDULE_TIMEOUT) {
-               cancel_delayed_work_sync(&s_fence->dwork);
+               cancel_delayed_work(&s_fence->dwork);
                spin_lock_irqsave(&sched->fence_list_lock, flags);
                list_del_init(&s_fence->list);
                spin_unlock_irqrestore(&sched->fence_list_lock, flags);