[PATCH] drm/amdgpu: Avoid possiblity of kernel crash in 'gmc_v8_0, gmc_v7_0_init_microcode()'

Alex Deucher alexdeucher at gmail.com
Thu Jul 13 13:21:00 UTC 2023


On Thu, Jul 13, 2023 at 9:20 AM Srinivasan Shanmugam
<srinivasan.shanmugam at amd.com> wrote:
>
> 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.deucher at amd.com>
> Cc: Christian König <christian.koenig at amd.com>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam at amd.com>

Reviewed-by: Alex Deucher <alexander.deucher at 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
>


More information about the amd-gfx mailing list