commit e4300be450453 ("drm/amd: Add dedicated helper for
amdgpu_device_find_parent()") created a dedicated helper to find
the parent device outside of the dGPU but it had a logic error
that caused it to walk all the way up the topology and return
the wrong device.

Break out of the loop when the device is found.

Fixes: e4300be450453 ("drm/amd: Add dedicated helper for 
amdgpu_device_find_parent()")
Signed-off-by: Mario Limonciello <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 5ff224163bab5..b82c6ef589557 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1921,6 +1921,7 @@ static struct pci_dev *amdgpu_device_find_parent(struct 
amdgpu_device *adev)
        while ((parent = pci_upstream_bridge(parent))) {
                if (parent->vendor == PCI_VENDOR_ID_ATI)
                        continue;
+               break;
        }
 
        return parent;
-- 
2.43.0

Reply via email to