This warning shows up with GCC at W=2:

    drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:3229:32: 
warning: ‘r’ may be used uninitialized [-Wmaybe-uninitialized]
     3229 |                         return r;
          |                                ^
    drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:3133:13: note: 
‘r’ was declared here
     3133 |         int r;
          |             ^

The compiler can't know drm_atomic_helper_suspend() doesn't return NULL,
so GCC is technically correct, that case would return `r` uninitialized.

Fix the warning by using PTR_ERR_OR_ZERO() on the return value from
drm_atomic_helper_suspend() like i915 does.

Signed-off-by: Calvin Owens <[email protected]>
---
This is pretty nitpicky and obviously benign IMO, I just happened to
spot it while debugging [1]. No argument from me if you don't want it :)

[1] 
https://lore.kernel.org/lkml/ef7266eb7802ce6d68ebd9356477e9671f0c94e0.1773116305.git.cal...@wbinvd.org/#t

 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index b3d6f2cd8ab6..9c5dce8d38b6 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -3133,12 +3133,11 @@ static int dm_cache_state(struct amdgpu_device *adev)
        int r;
 
        adev->dm.cached_state = drm_atomic_helper_suspend(adev_to_drm(adev));
-       if (IS_ERR(adev->dm.cached_state)) {
-               r = PTR_ERR(adev->dm.cached_state);
+       r = PTR_ERR_OR_ZERO(adev->dm.cached_state);
+       if (r)
                adev->dm.cached_state = NULL;
-       }
 
-       return adev->dm.cached_state ? 0 : r;
+       return r;
 }
 
 static void dm_destroy_cached_state(struct amdgpu_device *adev)
-- 
2.47.3

Reply via email to