Jelajahi Sumber

hwmon: fix dme1737 temp fault attribute

Fix temp?_fault attribute. The temp was incorrectly compared against
0x0800 rather than 0x8000. Only the upper 8 bits are compared as the
datasheet doesn't specify what happens to the lower bits in case of a
diode fault.

Signed-off-by: Juerg Haefliger <juergh at gmail.com>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
Juerg Haefliger 18 tahun lalu
induk
melakukan
c0f31403fe
1 mengubah file dengan 1 tambahan dan 1 penghapusan
  1. 1 1
      drivers/hwmon/dme1737.c

+ 1 - 1
drivers/hwmon/dme1737.c

@@ -750,7 +750,7 @@ static ssize_t show_temp(struct device *dev, struct device_attribute *attr,
 		res = (data->alarms >> DME1737_BIT_ALARM_TEMP[ix]) & 0x01;
 		break;
 	case SYS_TEMP_FAULT:
-		res = (data->temp[ix] == 0x0800);
+		res = (((u16)data->temp[ix] & 0xff00) == 0x8000);
 		break;
 	default:
 		res = 0;