drm/amd/display: fix NULL checks for adev->dm.dc in amdgpu_dm_fini()
authorNikita Zhandarovich <n.zhandarovich@fintech.ru>
Tue, 6 Feb 2024 16:50:56 +0000 (08:50 -0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 12 Feb 2024 21:13:53 +0000 (16:13 -0500)
commit2a3cfb9a24a28da9cc13d2c525a76548865e182c
tree48bab27ab869c49ce88fa7d9cc3a8d9707e97f5a
parentc4891d979c7668b195a0a75787967ec95a24ecef
drm/amd/display: fix NULL checks for adev->dm.dc in amdgpu_dm_fini()

Since 'adev->dm.dc' in amdgpu_dm_fini() might turn out to be NULL
before the call to dc_enable_dmub_notifications(), check
beforehand to ensure there will not be a possible NULL-ptr-deref
there.

Also, since commit 1e88eb1b2c25 ("drm/amd/display: Drop
CONFIG_DRM_AMD_DC_HDCP") there are two separate checks for NULL in
'adev->dm.dc' before dc_deinit_callbacks() and dc_dmub_srv_destroy().
Clean up by combining them all under one 'if'.

Found by Linux Verification Center (linuxtesting.org) with static
analysis tool SVACE.

Fixes: 81927e2808be ("drm/amd/display: Support for DMUB AUX")
Signed-off-by: Nikita Zhandarovich <n.zhandarovich@fintech.ru>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c