File tree Expand file tree Collapse file tree 1 file changed +8
-8
lines changed
drivers/gpu/drm/amd/amdkfd Expand file tree Collapse file tree 1 file changed +8
-8
lines changed Original file line number Diff line number Diff line change @@ -842,6 +842,14 @@ struct kfd_process *kfd_create_process(struct task_struct *thread)
842842 return ERR_PTR (- EINVAL );
843843 }
844844
845+ /* If the process just called exec(3), it is possible that the
846+ * cleanup of the kfd_process (following the release of the mm
847+ * of the old process image) is still in the cleanup work queue.
848+ * Make sure to drain any job before trying to recreate any
849+ * resource for this process.
850+ */
851+ flush_workqueue (kfd_process_wq );
852+
845853 /*
846854 * take kfd processes mutex before starting of process creation
847855 * so there won't be a case where two threads of the same process
@@ -862,14 +870,6 @@ struct kfd_process *kfd_create_process(struct task_struct *thread)
862870 if (process ) {
863871 pr_debug ("Process already found\n" );
864872 } else {
865- /* If the process just called exec(3), it is possible that the
866- * cleanup of the kfd_process (following the release of the mm
867- * of the old process image) is still in the cleanup work queue.
868- * Make sure to drain any job before trying to recreate any
869- * resource for this process.
870- */
871- flush_workqueue (kfd_process_wq );
872-
873873 process = create_process (thread );
874874 if (IS_ERR (process ))
875875 goto out ;
You can’t perform that action at this time.
0 commit comments