Commit 27739e69 authored by Guenter Roeck's avatar Guenter Roeck

hwmon: (lm95241) Fix chip detection code

The LM95241 driver accepts every chip ID equal to or larger than 0xA4 as its
own, and other chips such as LM95245 use chip IDs in the accepted ID range.
This results in false chip detection.

Fix problem by accepting only the known LM95241 chip ID.
Signed-off-by: default avatarGuenter Roeck <guenter.roeck@ericsson.com>
Acked-by: default avatarJean Delvare <khali@linux-fr.org>
Cc: stable@kernel.org # 2.6.30+
parent fe0d4220
...@@ -339,7 +339,7 @@ static int lm95241_detect(struct i2c_client *new_client, ...@@ -339,7 +339,7 @@ static int lm95241_detect(struct i2c_client *new_client,
if ((i2c_smbus_read_byte_data(new_client, LM95241_REG_R_MAN_ID) if ((i2c_smbus_read_byte_data(new_client, LM95241_REG_R_MAN_ID)
== MANUFACTURER_ID) == MANUFACTURER_ID)
&& (i2c_smbus_read_byte_data(new_client, LM95241_REG_R_CHIP_ID) && (i2c_smbus_read_byte_data(new_client, LM95241_REG_R_CHIP_ID)
>= DEFAULT_REVISION)) { == DEFAULT_REVISION)) {
name = DEVNAME; name = DEVNAME;
} else { } else {
dev_dbg(&adapter->dev, "LM95241 detection failed at 0x%02x\n", dev_dbg(&adapter->dev, "LM95241 detection failed at 0x%02x\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment