Drop the lock before calling cancel_delayed_work_sync().
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96445
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
Tested-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
if (sched->timeout != MAX_SCHEDULE_TIMEOUT) {
struct amd_sched_job *next;
+ spin_unlock_irqrestore(&sched->job_list_lock, flags);
cancel_delayed_work_sync(&s_job->work_tdr);
+ spin_lock_irqsave(&sched->job_list_lock, flags);
/* queue TDR for next job */
next = list_first_entry_or_null(&sched->ring_mirror_list,