diff --git a/drivers/thermal/thermal_step_wise.c b/drivers/thermal/thermal_step_wise.c index 53959583d2a..979e0dc4e4e 100644 --- a/drivers/thermal/thermal_step_wise.c +++ b/drivers/thermal/thermal_step_wise.c @@ -152,8 +152,10 @@ static int step_wise_throttle(FAR struct thermal_zone_device_s *zdev, enum thermal_trend_e trend; unsigned int next_state; bool throttle = false; + int hyst_temp; int trip_temp; + thermal_zone_get_trip_hyst(zdev, trip, &hyst_temp); thermal_zone_get_trip_temp(zdev, trip, &trip_temp); trend = thermal_zone_get_trend(zdev); @@ -162,6 +164,10 @@ static int step_wise_throttle(FAR struct thermal_zone_device_s *zdev, { throttle = true; } + else if (zdev->temperature > trip_temp - hyst_temp) + { + return OK; + } list_for_every_entry(&zdev->instance_list, instance, struct thermal_instance_s, zdev_node)