From bb613ebca48dc1cf803542d41ec59283c8d2ce5f Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Mon, 26 Sep 2016 17:35:56 -0700 Subject: [PATCH] Ensure that pwm control cache is current before updating values If sensor attributes were never read, the pwm control data has not been initiialized, which can cause wrong driver behavior. Ensure that cached data is current before acting on it. Reported-by: Kevin Folz Signed-off-by: Guenter Roeck --- it87.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/it87.c b/it87.c index e6ca420..f028820 100644 --- a/it87.c +++ b/it87.c @@ -1361,6 +1361,7 @@ static ssize_t set_pwm(struct device *dev, struct device_attribute *attr, return -EINVAL; mutex_lock(&data->update_lock); + it87_update_pwm_ctrl(data, nr); if (has_newer_autopwm(data)) { /* * If we are in automatic mode, the PWM duty cycle register @@ -1473,6 +1474,7 @@ static ssize_t set_pwm_temp_map(struct device *dev, } mutex_lock(&data->update_lock); + it87_update_pwm_ctrl(data, nr); data->pwm_temp_map[nr] = reg; /* * If we are in automatic mode, write the temp mapping immediately; -- 2.39.5