Dirk Gouders <d...@gouders.net> writes:

> Commit c1cf79ca5ced46 (drm/amdgpu: use IP discovery table for renoir)
> introduced a NULL pointer dereference when booting with
> amdgpu.discovery=0, because it removed the call of vega10_reg_base_init()
> for that case.
>
> Fix this by calling that funcion if amdgpu_discovery == 0 in addition to
> the case that amdgpu_discovery_reg_base_init() failed.
>
> Fixes: c1cf79ca5ced46 (drm/amdgpu: use IP discovery table for renoir)
> Signed-off-by: Dirk Gouders <d...@gouders.net>
> Cc: Hawking Zhang <hawking.zh...@amd.com>
> Cc: Evan Quan <evan.q...@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/soc15.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c 
> b/drivers/gpu/drm/amd/amdgpu/soc15.c
> index 84d811b6e48b..f8cb62b326d6 100644
> --- a/drivers/gpu/drm/amd/amdgpu/soc15.c
> +++ b/drivers/gpu/drm/amd/amdgpu/soc15.c
> @@ -694,12 +694,12 @@ static void soc15_reg_base_init(struct amdgpu_device 
> *adev)
>                * it doesn't support SRIOV. */
>               if (amdgpu_discovery) {
>                       r = amdgpu_discovery_reg_base_init(adev);
> -                     if (r) {
> -                             DRM_WARN("failed to init reg base from ip 
> discovery table, "
> -                                      "fallback to legacy init method\n");
> -                             vega10_reg_base_init(adev);
> -                     }
> +                     if (r == 0)
> +                       break;

Grrr, wrong indentation here.
But I will wait for your review before v1.

Dirk


> +                     DRM_WARN("failed to init reg base from ip discovery 
> table, "
> +                              "fallback to legacy init method\n");
>               }
> +             vega10_reg_base_init(adev);
>               break;
>       case CHIP_VEGA20:
>               vega20_reg_base_init(adev);

Reply via email to