DragonFlyBSD Kernel Audit
DF-1143 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/amd/amdgpu/ci_dpm.c b/sys/dev/drm/amd/amdgpu/ci_dpm.c
--- a/sys/dev/drm/amd/amdgpu/ci_dpm.c
+++ b/sys/dev/drm/amd/amdgpu/ci_dpm.c
@@ -1122,6 +1122,11 @@
 	t_diff1 = adev->pm.dpm.fan.t_med - adev->pm.dpm.fan.t_min;
 	t_diff2 = adev->pm.dpm.fan.t_high - adev->pm.dpm.fan.t_med;
 
+	if (t_diff1 == 0 || t_diff2 == 0) {
+		adev->pm.dpm.fan.ucode_fan_control = false;
+		return 0;
+	}
+
 	pwm_diff1 = adev->pm.dpm.fan.pwm_med - adev->pm.dpm.fan.pwm_min;
 	pwm_diff2 = adev->pm.dpm.fan.pwm_high - adev->pm.dpm.fan.pwm_med;