⬢ DragonFlyBSD Kernel Audit
DF-4119 / fix.diff
← back to finding ↓ download raw
Fix for DF-4119: use the ATOM-computed engine-PLL reference divider on SUCCESS and the default on failure (currently inverted; the failure branch also consumes uninitialized stack 'dividers').

--- a/sys/dev/drm/radeon/cypress_dpm.c
+++ b/sys/dev/drm/radeon/cypress_dpm.c
@@ -2058,7 +2058,7 @@
 
 	ret = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM,
 					     0, false, &dividers);
-	if (ret)
+	if (!ret)
 		pi->ref_div = dividers.ref_div + 1;
 	else
 		pi->ref_div = R600_REFERENCEDIVIDER_DFLT;