diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index 9599465abeac5a4b03e4006396d4e1b366ae2ac4..6a707789746beed907e359f34bc75d2e7e6a5227 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -498,6 +498,11 @@ int thermal_zone_get_temp(struct thermal_zone_device *tz, int *temp) } } + /* + * Only allow emulating a temperature when the real temperature + * is below the critical temperature so that the emulation code + * cannot hide critical conditions. + */ if (!ret && *temp < crit_temp) *temp = tz->emul_temperature; }