mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-07 09:09:23 +00:00
drm/amdkfd: fix kfd_suspend_all_processes
Flush delayed restore work in kfd_suspend_all_queues instead of cancelling. Cancelling the work before it runs results in the queues becoming permanently disabled. Flushing the work ensures that the queue suspend/resume state stays balanced. Signed-off-by: Jonathan Kim <jonathan.kim@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
01f648202c
commit
bb13d763f2
1 changed files with 1 additions and 1 deletions
|
@ -2014,7 +2014,7 @@ void kfd_suspend_all_processes(void)
|
|||
WARN(debug_evictions, "Evicting all processes");
|
||||
hash_for_each_rcu(kfd_processes_table, temp, p, kfd_processes) {
|
||||
cancel_delayed_work_sync(&p->eviction_work);
|
||||
cancel_delayed_work_sync(&p->restore_work);
|
||||
flush_delayed_work(&p->restore_work);
|
||||
|
||||
if (kfd_process_evict_queues(p, KFD_QUEUE_EVICTION_TRIGGER_SUSPEND))
|
||||
pr_err("Failed to suspend process 0x%x\n", p->pasid);
|
||||
|
|
Loading…
Reference in a new issue