浏览代码

hwmon: (lm78) Prevent misdetection of Winbond chips

The LM78 detection is relatively weak, and sometimes recent Winbond
chips can be misdetected as an LM78. We have had repeated reports of
this happening. We have an explicit check against this for the ISA
access, do the same for I2C access now.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare 16 年之前
父节点
当前提交
ad3273be8e
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      drivers/hwmon/lm78.c

+ 6 - 0
drivers/hwmon/lm78.c

@@ -613,6 +613,12 @@ static int lm78_detect(struct i2c_adapter *adapter, int address, int kind)
 			err = -ENODEV;
 			goto ERROR2;
 		}
+		/* Explicitly prevent the misdetection of Winbond chips */
+		i = lm78_read_value(data, 0x4f);
+		if (i == 0xa3 || i == 0x5c) {
+			err = -ENODEV;
+			goto ERROR2;
+		}
 	}
 
 	/* Determine the chip type. */