drm/amdgpu/swsmu: fix error return code of smu_v11_0_set_allowed_mask()
authorJia-Ju Bai <baijiaju1990@gmail.com>
Fri, 5 Mar 2021 03:54:28 +0000 (19:54 -0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 Mar 2021 03:03:18 +0000 (23:03 -0400)
When bitmap_empty() or feature->feature_num triggers an error,
no error return code of smu_v11_0_set_allowed_mask() is assigned.
To fix this bug, ret is assigned with -EINVAL as error return code.

Reviewed-by: Evan Quan <evan.quan@amd.com>
Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c

index 1882a0643f7a3cf85dbd326c88c647d5ffeb9e74..97acb04e1b5aae1ff7f67e0242c29cd263036b5f 100644 (file)
@@ -744,8 +744,10 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu)
        int ret = 0;
        uint32_t feature_mask[2];
 
-       if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64)
+       if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64) {
+               ret = -EINVAL;
                goto failed;
+       }
 
        bitmap_copy((unsigned long *)feature_mask, feature->allowed, 64);