drm/amdgpu: Add NULL checks for function pointers
authorjsg <jsg@openbsd.org>
Mon, 22 Jan 2024 03:05:55 +0000 (03:05 +0000)
committerjsg <jsg@openbsd.org>
Mon, 22 Jan 2024 03:05:55 +0000 (03:05 +0000)
From Lijo Lazar
fb26de4a86e19711880e7e845505505f01d2eb82 in linux-6.6.y/6.6.13
81577503efb49f4ad76af22f9941d72900ef4aab in mainline linux

sys/dev/pci/drm/amd/amdgpu/soc15.c

index f1b8c92..3a152a7 100644 (file)
@@ -1422,9 +1422,11 @@ static void soc15_common_get_clockgating_state(void *handle, u64 *flags)
        if (amdgpu_sriov_vf(adev))
                *flags = 0;
 
-       adev->nbio.funcs->get_clockgating_state(adev, flags);
+       if (adev->nbio.funcs && adev->nbio.funcs->get_clockgating_state)
+               adev->nbio.funcs->get_clockgating_state(adev, flags);
 
-       adev->hdp.funcs->get_clock_gating_state(adev, flags);
+       if (adev->hdp.funcs && adev->hdp.funcs->get_clock_gating_state)
+               adev->hdp.funcs->get_clock_gating_state(adev, flags);
 
        if (adev->ip_versions[MP0_HWIP][0] != IP_VERSION(13, 0, 2)) {
 
@@ -1440,9 +1442,11 @@ static void soc15_common_get_clockgating_state(void *handle, u64 *flags)
        }
 
        /* AMD_CG_SUPPORT_ROM_MGCG */
-       adev->smuio.funcs->get_clock_gating_state(adev, flags);
+       if (adev->smuio.funcs && adev->smuio.funcs->get_clock_gating_state)
+               adev->smuio.funcs->get_clock_gating_state(adev, flags);
 
-       adev->df.funcs->get_clockgating_state(adev, flags);
+       if (adev->df.funcs && adev->df.funcs->get_clockgating_state)
+               adev->df.funcs->get_clockgating_state(adev, flags);
 }
 
 static int soc15_common_set_powergating_state(void *handle,