[PATCH] drm/amdgpu/userq: Fix unreachable code in amdgpu_runtime_idle_check_userq()
Srinivasan Shanmugam
srinivasan.shanmugam at amd.com
Mon Apr 28 04:37:54 UTC 2025
Changed the control flow to use break statements instead of goto to exit
loops when a busy user queue is detected.
Fixes the below:
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:2751 amdgpu_runtime_idle_check_userq() warn: ignoring unreachable code.
Cc: Alex Deucher <alexander.deucher at amd.com>
Cc: Christian König <christian.koenig at amd.com>
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam at amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index b9a1ef343c79..801603510d56 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -2749,13 +2749,17 @@ static int amdgpu_runtime_idle_check_userq(struct device *dev)
mutex_lock(&adev->userq_mutex);
list_for_each_entry_safe(uqm, tmp, &adev->userq_mgr_list, list) {
idr_for_each_entry(&uqm->userq_idr, queue, queue_id) {
+ /* Found an active user queue */
ret = -EBUSY;
- goto done;
+ break;
}
+ if (ret == -EBUSY)
+ /* Exit the outer loop if busyness is found */
+ break;
}
-done:
mutex_unlock(&adev->userq_mutex);
+ /* Return -EBUSY if any user queue was found, otherwise 0 */
return ret;
}
--
2.34.1
More information about the amd-gfx
mailing list