提交 49ae6cc8 编写于 作者: B Ben Hutchings 提交者: Jean Delvare

hwmon: (lm87) Fix masking of config register in lm87_init_client()

lm87_init_client() conditionally sets the Start bit and clears the
INT#_Clear bit in the Config 1 register.  The condition should be that
either of these bits needs changing, but currently it checks the
(self-clearing) Initialization bit instead of INT#_Clear.

Fix the condition and also ensure we never set the Initialization bit.
Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
Signed-off-by: NJean Delvare <khali@linux-fr.org>
上级 4b4e7a72
...@@ -867,11 +867,11 @@ static void lm87_init_client(struct i2c_client *client) ...@@ -867,11 +867,11 @@ static void lm87_init_client(struct i2c_client *client)
lm87_write_value(client, LM87_REG_IN_MAX(0), 0xFF); lm87_write_value(client, LM87_REG_IN_MAX(0), 0xFF);
} }
} }
if ((config & 0x81) != 0x01) {
/* Start monitoring */ /* Make sure Start is set and INT#_Clear is clear */
if ((config & 0x09) != 0x01)
lm87_write_value(client, LM87_REG_CONFIG, lm87_write_value(client, LM87_REG_CONFIG,
(config & 0xF7) | 0x01); (config & 0x77) | 0x01);
}
} }
static int lm87_remove(struct i2c_client *client) static int lm87_remove(struct i2c_client *client)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册