Commit 5fe8d1db authored by Jouni Högander's avatar Jouni Högander
Browse files

drm/i915/dsi: Fix overflow issue in pclk parsing



Parsed divider p will overflow and is considered being valid in case
pll_ctl == 0.

Fix this by checking divider p before decreasing it. Also small improvement
is made by using fls() instead of custom loop.

v2: use fls() and check parsed divider

Signed-off-by: default avatarJouni Högander <jouni.hogander@intel.com>
Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://lore.kernel.org/r/20250807042635.2491537-1-jouni.hogander@intel.com
parent f9b5bf76
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -142,10 +142,8 @@ static int vlv_dsi_pclk(struct intel_encoder *encoder,
	pll_div &= DSI_PLL_M1_DIV_MASK;
	pll_div = pll_div >> DSI_PLL_M1_DIV_SHIFT;

	while (pll_ctl) {
		pll_ctl = pll_ctl >> 1;
		p++;
	}
	p = fls(pll_ctl);
	if (p)
		p--;

	if (!p) {