From: Mukul Joshi Date: Wed, 20 Apr 2022 15:34:53 +0000 (-0400) Subject: drm/amdkfd: Fix updating IO links during device removal X-Git-Tag: for-5.19/block-exec-2022-06-02~43^2~12^2~30 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=98447635b5dc4be078b26376285d3f3a6fa31094;p=linux-block.git drm/amdkfd: Fix updating IO links during device removal 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 Reviewed-by: Felix Kuehling Signed-off-by: Alex Deucher --- 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--; } } - } }