Commit d37edc73 authored by Marcus Folkesson's avatar Marcus Folkesson Committed by Daniel Lezcano
Browse files

thermal/drivers/imx8mm_thermal: Validate temperature range



Check against the upper temperature limit (125 degrees C) before
consider the temperature valid.

Fixes: 5eed800a ("thermal: imx8mm: Add support for i.MX8MM thermal monitoring unit")
Signed-off-by: default avatarMarcus Folkesson <marcus.folkesson@gmail.com>
Reviewed-by: default avatarJacky Bai <ping.bai@nxp.com>
Link: https://lore.kernel.org/r/20221014073507.1594844-1-marcus.folkesson@gmail.com


Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
parent 1f455f14
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -65,8 +65,14 @@ static int imx8mm_tmu_get_temp(void *data, int *temp)
	u32 val;

	val = readl_relaxed(tmu->base + TRITSR) & TRITSR_TEMP0_VAL_MASK;

	/*
	 * Do not validate against the V bit (bit 31) due to errata
	 * ERR051272: TMU: Bit 31 of registers TMU_TSCR/TMU_TRITSR/TMU_TRATSR invalid
	 */

	*temp = val * 1000;
	if (*temp < VER1_TEMP_LOW_LIMIT)
	if (*temp < VER1_TEMP_LOW_LIMIT || *temp > VER2_TEMP_HIGH_LIMIT)
		return -EAGAIN;

	return 0;