drm/amdkfd: Fix iterator used outside loop in 'kfd_add_peer_prop()'
authorSrinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Fri, 29 Dec 2023 09:37:09 +0000 (15:07 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 5 Feb 2024 20:14:30 +0000 (20:14 +0000)
[ Upstream commit b1a428b45dc7e47c7acc2ad0d08d8a6dda910c4c ]

Fix the following about iterator use:
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_topology.c:1456 kfd_add_peer_prop() warn: iterator used outside loop: 'iolink3'

Cc: Felix Kuehling <Felix.Kuehling@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/amdkfd/kfd_topology.c

index 6e75e8f..61157fd 100644 (file)
@@ -1452,17 +1452,19 @@ static int kfd_add_peer_prop(struct kfd_topology_device *kdev,
                /* CPU->CPU  link*/
                cpu_dev = kfd_topology_device_by_proximity_domain(iolink1->node_to);
                if (cpu_dev) {
-                       list_for_each_entry(iolink3, &cpu_dev->io_link_props, list)
-                               if (iolink3->node_to == iolink2->node_to)
-                                       break;
-
-                       props->weight += iolink3->weight;
-                       props->min_latency += iolink3->min_latency;
-                       props->max_latency += iolink3->max_latency;
-                       props->min_bandwidth = min(props->min_bandwidth,
-                                                       iolink3->min_bandwidth);
-                       props->max_bandwidth = min(props->max_bandwidth,
-                                                       iolink3->max_bandwidth);
+                       list_for_each_entry(iolink3, &cpu_dev->io_link_props, list) {
+                               if (iolink3->node_to != iolink2->node_to)
+                                       continue;
+
+                               props->weight += iolink3->weight;
+                               props->min_latency += iolink3->min_latency;
+                               props->max_latency += iolink3->max_latency;
+                               props->min_bandwidth = min(props->min_bandwidth,
+                                                          iolink3->min_bandwidth);
+                               props->max_bandwidth = min(props->max_bandwidth,
+                                                          iolink3->max_bandwidth);
+                               break;
+                       }
                } else {
                        WARN(1, "CPU node not found");
                }