From 0e789c5deb16f1da65c73906c8bdcc26480b1277 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Wed, 20 Sep 2017 22:33:31 -0700 Subject: [PATCH] Fix reworked temperature mapping With the reworked temperature mapping it was no longer possible to set manual mode since the 'automatic' configuration bit was never cleared. Signed-off-by: Guenter Roeck --- it87.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/it87.c b/it87.c index 027ede9..197c4ff 100644 --- a/it87.c +++ b/it87.c @@ -1699,6 +1699,7 @@ static ssize_t set_pwm_enable(struct device *dev, struct device_attribute *attr, if (has_newer_autopwm(data)) { ctrl = temp_map_to_reg(data, nr, data->pwm_temp_map[nr]); + ctrl &= 0x7f; } else { ctrl = data->pwm_duty[nr]; } @@ -1711,7 +1712,9 @@ static ssize_t set_pwm_enable(struct device *dev, struct device_attribute *attr, if (has_newer_autopwm(data)) { ctrl = temp_map_to_reg(data, nr, data->pwm_temp_map[nr]); - if (val != 1) + if (val == 1) + ctrl &= 0x7f; + else ctrl |= 0x80; } else { ctrl = (val == 1 ? data->pwm_duty[nr] : 0x80); -- 2.39.5