Really preserve the fan speed reading when changing the fan clock divider.

git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@4452 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
Jean Delvare committed 2007-06-17 13:00:02 +00:00
1 parent 9366b73b8c
commit 5769166303
1 file changed
+3 -2
+3 -2
View File
@@ -579,10 +579,11 @@ static void store_fan_min(struct i2c_client *client, long val, int nr)
/* Write both the fan clock divider (if it changed) and the new
fan min (unconditionally) */
if (new_div != data->fan_div[nr]) {
/* Preserve the fan speed reading */
if (new_div > data->fan_div[nr])
data->fan[nr] >>= (data->fan_div[nr] - new_div);
data->fan[nr] >>= new_div - data->fan_div[nr];
else
data->fan[nr] <<= (new_div - data->fan_div[nr]);
data->fan[nr] <<= data->fan_div[nr] - new_div;
#ifdef DEBUG
printk(KERN_DEBUG "w83627ehf: fan%u clock divider changed "