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: Guenter Roeck <guenter.roeck@ericsson.com>
Acked-by: Jean Delvare <khali@linux-fr.org>
Cc: stable@kernel.org # 2.6.30+
This commit is contained in:
Guenter Roeck 2011-06-27 11:22:46 -07:00
Родитель fe0d42203c
Коммит 27739e694a
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -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",