If migration vma setup, but failed before start sdma memory copy, e.g.
process is killed, don't wait for sdma fence done.

Signed-off-by: Philip Yang <philip.y...@amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
index 6b810863f6ba..19b08247ba8a 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
@@ -460,10 +460,12 @@ svm_migrate_vma_to_vram(struct amdgpu_device *adev, 
struct svm_range *prange,
        }
 
        if (migrate.cpages) {
-               svm_migrate_copy_to_vram(adev, prange, &migrate, &mfence,
-                                        scratch);
-               migrate_vma_pages(&migrate);
-               svm_migrate_copy_done(adev, mfence);
+               r = svm_migrate_copy_to_vram(adev, prange, &migrate, &mfence,
+                                            scratch);
+               if (!r) {
+                       migrate_vma_pages(&migrate);
+                       svm_migrate_copy_done(adev, mfence);
+               }
                migrate_vma_finalize(&migrate);
        }
 
@@ -663,10 +665,12 @@ svm_migrate_vma_to_ram(struct amdgpu_device *adev, struct 
svm_range *prange,
        pr_debug("cpages %ld\n", migrate.cpages);
 
        if (migrate.cpages) {
-               svm_migrate_copy_to_ram(adev, prange, &migrate, &mfence,
-                                       scratch);
-               migrate_vma_pages(&migrate);
-               svm_migrate_copy_done(adev, mfence);
+               r = svm_migrate_copy_to_ram(adev, prange, &migrate, &mfence,
+                                           scratch);
+               if (!r) {
+                       migrate_vma_pages(&migrate);
+                       svm_migrate_copy_done(adev, mfence);
+               }
                migrate_vma_finalize(&migrate);
        } else {
                pr_debug("failed collect migrate device pages [0x%lx 0x%lx]\n",
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to