diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c index a413dee7cd19..7fa1d7a438e9 100644 --- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c +++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | |||
@@ -352,14 +352,14 @@ static void amd_sched_fence_work_func(struct work_struct *work) | |||
352 | DRM_ERROR("[%s] scheduler is timeout!\n", sched->name); | 352 | DRM_ERROR("[%s] scheduler is timeout!\n", sched->name); |
353 | 353 | ||
354 | /* Clean all pending fences */ | 354 | /* Clean all pending fences */ |
355 | spin_lock_irqsave(&sched->fence_list_lock, flags); | ||
355 | list_for_each_entry_safe(entity, tmp, &sched->fence_list, list) { | 356 | list_for_each_entry_safe(entity, tmp, &sched->fence_list, list) { |
356 | DRM_ERROR(" fence no %d\n", entity->base.seqno); | 357 | DRM_ERROR(" fence no %d\n", entity->base.seqno); |
357 | cancel_delayed_work_sync(&entity->dwork); | 358 | cancel_delayed_work(&entity->dwork); |
358 | spin_lock_irqsave(&sched->fence_list_lock, flags); | ||
359 | list_del_init(&entity->list); | 359 | list_del_init(&entity->list); |
360 | spin_unlock_irqrestore(&sched->fence_list_lock, flags); | ||
361 | fence_put(&entity->base); | 360 | fence_put(&entity->base); |
362 | } | 361 | } |
362 | spin_unlock_irqrestore(&sched->fence_list_lock, flags); | ||
363 | } | 363 | } |
364 | 364 | ||
365 | static int amd_sched_main(void *param) | 365 | static int amd_sched_main(void *param) |