2019-02-14 10:59:13

by Bo YU

[permalink] [raw]
Subject: [PATCH] drm/amdgpu: Error handling issues about CHECKED_RETURN

From: Bo Yu <[email protected]>

Calling "amdgpu_ring_test_helper" without checking return value

Signed-off-by: Bo Yu <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
index 57cb3a51bda7..48465a61516b 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
@@ -4728,7 +4728,9 @@ static int gfx_v8_0_cp_test_all_rings(struct amdgpu_device *adev)

for (i = 0; i < adev->gfx.num_compute_rings; i++) {
ring = &adev->gfx.compute_ring[i];
- amdgpu_ring_test_helper(ring);
+ r = amdgpu_ring_test_helper(ring);
+ if (r)
+ return r;
}

return 0;
--
2.11.0



2019-02-14 11:06:55

by Zhou, David(ChunMing)

[permalink] [raw]
Subject: RE: [PATCH] drm/amdgpu: Error handling issues about CHECKED_RETURN



> -----Original Message-----
> From: Bo YU <[email protected]>
> Sent: Thursday, February 14, 2019 12:46 PM
> To: Deucher, Alexander <[email protected]>; Koenig, Christian
> <[email protected]>; Zhou, David(ChunMing)
> <[email protected]>; [email protected]; [email protected]; Zhu, Rex
> <[email protected]>; Grodzovsky, Andrey
> <[email protected]>; [email protected]; linux-
> [email protected]
> Cc: Bo Yu <[email protected]>; [email protected]
> Subject: [PATCH] drm/amdgpu: Error handling issues about
> CHECKED_RETURN
>
> From: Bo Yu <[email protected]>
>
> Calling "amdgpu_ring_test_helper" without checking return value

We could need to continue to ring test even there is one ring test failed.

-David

>
> Signed-off-by: Bo Yu <[email protected]>
> ---
> drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> index 57cb3a51bda7..48465a61516b 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> @@ -4728,7 +4728,9 @@ static int gfx_v8_0_cp_test_all_rings(struct
> amdgpu_device *adev)
>
> for (i = 0; i < adev->gfx.num_compute_rings; i++) {
> ring = &adev->gfx.compute_ring[i];
> - amdgpu_ring_test_helper(ring);
> + r = amdgpu_ring_test_helper(ring);
> + if (r)
> + return r;
> }
>
> return 0;
> --
> 2.11.0