DragonFlyBSD Kernel Audit
DF-1376 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/radeon/atombios_crtc.c b/sys/dev/drm/radeon/atombios_crtc.c
--- a/sys/dev/drm/radeon/atombios_crtc.c
+++ b/sys/dev/drm/radeon/atombios_crtc.c
@@ -1126,10 +1126,10 @@
 				ATOM_PPLL_SS_AMOUNT_V2_NFRAC_MASK;
 			if (radeon_crtc->ss.type & ATOM_PPLL_SS_TYPE_V2_CENTRE_SPREAD)
 				step_size = (4 * amount * ref_div * ((u32)radeon_crtc->ss.rate * 2048)) /
-					(125 * 25 * pll->reference_freq / 100);
+					(pll->reference_freq ? (125 * 25 * pll->reference_freq / 100) : 1);
 			else
 				step_size = (2 * amount * ref_div * ((u32)radeon_crtc->ss.rate * 2048)) /
-					(125 * 25 * pll->reference_freq / 100);
+					(pll->reference_freq ? (125 * 25 * pll->reference_freq / 100) : 1);
 			radeon_crtc->ss.step = step_size;
 		}