DragonFlyBSD Kernel Audit
DF-1772 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/i915/intel_dsi_vbt.c b/sys/dev/drm/i915/intel_dsi_vbt.c
--- a/sys/dev/drm/i915/intel_dsi_vbt.c
+++ b/sys/dev/drm/i915/intel_dsi_vbt.c
@@ -563,7 +563,7 @@
 	 */
 	if (intel_dsi->video_mode_format == VIDEO_MODE_BURST) {
 		if (mipi_config->target_burst_mode_freq) {
-			computed_ddr = (pclk * bpp) / intel_dsi->lane_count;
+			computed_ddr = (u32)(((u64)pclk * bpp) / intel_dsi->lane_count);
 
 			if (mipi_config->target_burst_mode_freq <
 								computed_ddr) {
@@ -575,7 +575,7 @@
 				mipi_config->target_burst_mode_freq * 100,
 				computed_ddr);
 
-			pclk = DIV_ROUND_UP(pclk * burst_mode_ratio, 100);
+			pclk = (u32)(((u64)pclk * burst_mode_ratio + 99) / 100);
 		} else {
 			DRM_ERROR("Burst mode target is not set\n");
 			return false;