diff options
| -rw-r--r-- | drivers/thermal/pid_thermal_gov.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/thermal/pid_thermal_gov.c b/drivers/thermal/pid_thermal_gov.c index c29033fb6..f326d8e15 100644 --- a/drivers/thermal/pid_thermal_gov.c +++ b/drivers/thermal/pid_thermal_gov.c | |||
| @@ -382,15 +382,8 @@ pid_thermal_gov_get_target(struct thermal_zone_device *tz, | |||
| 382 | derivative = min_t(s64, derivative, max_dout); | 382 | derivative = min_t(s64, derivative, max_dout); |
| 383 | } | 383 | } |
| 384 | 384 | ||
| 385 | sum_err = proportional + derivative; | 385 | sum_err = max_t(s64, proportional + derivative, 0); |
| 386 | sum_err = max_t(s64, sum_err, 0); | ||
| 387 | if (sum_err == 0) | ||
| 388 | return 0; | ||
| 389 | |||
| 390 | sum_err = min_t(s64, sum_err, max_err); | 386 | sum_err = min_t(s64, sum_err, max_err); |
| 391 | if (sum_err == max_err) | ||
| 392 | return max_state; | ||
| 393 | |||
| 394 | sum_err = sum_err * max_state + max_err - 1; | 387 | sum_err = sum_err * max_state + max_err - 1; |
| 395 | target = (unsigned long)div64_s64(sum_err, max_err); | 388 | target = (unsigned long)div64_s64(sum_err, max_err); |
| 396 | 389 | ||
