Commit 33eade2c authored by Dirk Gouders's avatar Dirk Gouders Committed by Alex Deucher

drm/amdgpu: fix NULL pointer dereference for Renoir

Commit c1cf79ca ("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: c1cf79ca ("drm/amdgpu: use IP discovery table for renoir")
Signed-off-by: default avatarDirk Gouders <dirk@gouders.net>
Cc: Hawking Zhang <Hawking.Zhang@amd.com>
Cc: Evan Quan <evan.quan@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d10285a2
...@@ -694,12 +694,12 @@ static void soc15_reg_base_init(struct amdgpu_device *adev) ...@@ -694,12 +694,12 @@ static void soc15_reg_base_init(struct amdgpu_device *adev)
* it doesn't support SRIOV. */ * it doesn't support SRIOV. */
if (amdgpu_discovery) { if (amdgpu_discovery) {
r = amdgpu_discovery_reg_base_init(adev); r = amdgpu_discovery_reg_base_init(adev);
if (r) { if (r == 0)
break;
DRM_WARN("failed to init reg base from ip discovery table, " DRM_WARN("failed to init reg base from ip discovery table, "
"fallback to legacy init method\n"); "fallback to legacy init method\n");
vega10_reg_base_init(adev);
}
} }
vega10_reg_base_init(adev);
break; break;
case CHIP_VEGA20: case CHIP_VEGA20:
vega20_reg_base_init(adev); vega20_reg_base_init(adev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment