Prevent further casting on chip MULLINS/KABINI/KAVERI when calling amdgpu_dpm_is_overdrive_supported, this can avoid UBSAN complain in init sequence. Suggested-by: Evan Quan <evan.quan@xxxxxxx> Signed-off-by: Guchun Chen <guchun.chen@xxxxxxx> --- drivers/gpu/drm/amd/pm/amdgpu_dpm.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c index 86246f69dbe1..ccd3ea89eacf 100644 --- a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c +++ b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c @@ -1467,8 +1467,14 @@ int amdgpu_dpm_is_overdrive_supported(struct amdgpu_device *adev) } else { struct pp_hwmgr *hwmgr; - /* SI asic does not carry od_enabled */ - if (adev->family == AMDGPU_FAMILY_SI) + /* + * SI asic and chip MULLINS/KABINI/KAVERI do not carry + * od_enabled, as its pp_handle is casted from adev. + */ + if ((adev->family == AMDGPU_FAMILY_SI) || + (adev->asic_type == CHIP_MULLINS) || + (adev->asic_type == CHIP_KABINI) || + (adev->asic_type == CHIP_KAVERI)) return false; hwmgr = (struct pp_hwmgr *)adev->powerplay.pp_handle; -- 2.25.1