If the function 'gmc_v8_0_ or gmc_v7_0_init_microcode()' fails, the
driver will just fail to load, hence return -EINVAL rather having BUG(),
fixes WARNING: Do not crash the kernel unless it is absolutely
unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead
of BUG() or variants

'Fixes: 1104113b37210 ("drm/amdgpu: Fix error & warnings in gmc_v8_0.c")'
'Fixes: d68f1d641eba0 ("drm/amdgpu: Fix errors & warnings in gmc_ v6_0,
v7_0.c")'
Suggested-by: Alex Deucher <alexander.deuc...@amd.com>
Cc: Christian König <christian.koe...@amd.com>
Cc: Alex Deucher <alexander.deuc...@amd.com>
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmu...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 2 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
index 0629b6808cb1..6a6929ac2748 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
@@ -150,7 +150,7 @@ static int gmc_v7_0_init_microcode(struct amdgpu_device 
*adev)
        case CHIP_MULLINS:
                return 0;
        default:
-               BUG();
+               return -EINVAL;
        }
 
        snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mc.bin", chip_name);
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
index 23bfadca0fc8..5af235202513 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
@@ -252,7 +252,7 @@ static int gmc_v8_0_init_microcode(struct amdgpu_device 
*adev)
        case CHIP_VEGAM:
                return 0;
        default:
-               BUG();
+               return -EINVAL;
        }
 
        snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mc.bin", chip_name);
-- 
2.25.1

Reply via email to