The logic to update the IO links when a KFD device
is removed was not correct as it would miss updating
the proximity domain values for some nodes where the
node_from and node_to both were greater values than the
proximity domain value of the KFD device being removed
from topology.

Fixes: 9be62cbcc62f ("drm/amdkfd: Cleanup IO links during KFD device removal")
Signed-off-by: Mukul Joshi <mukul.jo...@amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
index 8b7710b4d3ed..4283afd60fa5 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
@@ -1534,13 +1534,13 @@ static void kfd_topology_update_io_links(int 
proximity_domain)
                                list_del(&iolink->list);
                                dev->io_link_count--;
                                dev->node_props.io_links_count--;
-                       } else if (iolink->node_from > proximity_domain) {
-                               iolink->node_from--;
-                       } else if (iolink->node_to > proximity_domain) {
-                               iolink->node_to--;
+                       } else {
+                               if (iolink->node_from > proximity_domain)
+                                       iolink->node_from--;
+                               if (iolink->node_to > proximity_domain)
+                                       iolink->node_to--;
                        }
                }
-
        }
 }
 
-- 
2.35.1

Reply via email to