drm/amdkfd: Fix updating IO links during device removal
authorMukul Joshi <mukul.joshi@amd.com>
Wed, 20 Apr 2022 15:34:53 +0000 (11:34 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 28 Apr 2022 21:44:35 +0000 (17:44 -0400)
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: 46d18d510d7831 ("drm/amdkfd: Cleanup IO links during KFD device removal")
Signed-off-by: Mukul Joshi <mukul.joshi@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_topology.c

index 8b7710b..4283afd 100644 (file)
@@ -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--;
                        }
                }
-
        }
 }