From: Lu Yao <[email protected]>

If it can satisfy the condition of "page_pgmap(src_page) == pagemap
&& ! mdetails->can_migrate_same_pagemap", it will be return -EBUSY in
the precondition checks above the loop.

Fixes: 75af93b3f5d0 ("drm/pagemap, drm/xe: Support destination migration over 
interconnect")
Signed-off-by: Lu Yao <[email protected]>
---
 drivers/gpu/drm/drm_pagemap.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/drivers/gpu/drm/drm_pagemap.c b/drivers/gpu/drm/drm_pagemap.c
index 892b325fa99b..23d60a271f17 100644
--- a/drivers/gpu/drm/drm_pagemap.c
+++ b/drivers/gpu/drm/drm_pagemap.c
@@ -746,12 +746,6 @@ int drm_pagemap_migrate_to_devmem(struct 
drm_pagemap_devmem *devmem_allocation,
                        struct drm_pagemap_zdd *src_zdd =
                                drm_pagemap_page_zone_device_data(src_page);
 
-                       if (page_pgmap(src_page) == pagemap &&
-                           !mdetails->can_migrate_same_pagemap) {
-                               migrate.dst[i] = 0;
-                               own_pages++;
-                               goto next;
-                       }
                        cur.dpagemap = src_zdd->dpagemap;
                        cur.ops = src_zdd->devmem_allocation->ops;
                        cur.device = cur.dpagemap->drm->dev;
@@ -788,7 +782,6 @@ int drm_pagemap_migrate_to_devmem(struct drm_pagemap_devmem 
*devmem_allocation,
                        goto err_finalize;
                }
 
-next:
                i += NR_PAGES(order);
        }
 
@@ -799,8 +792,6 @@ int drm_pagemap_migrate_to_devmem(struct drm_pagemap_devmem 
*devmem_allocation,
        if (err)
                goto err_finalize;
 
-       drm_WARN_ON(dpagemap->drm, !!own_pages);
-
        dma_fence_put(devmem_allocation->pre_migrate_fence);
        devmem_allocation->pre_migrate_fence = NULL;
 
-- 
2.25.1

Reply via email to