hwmon: (w83795) Fix LSB reading of voltage limits
authorJean Delvare <khali@linux-fr.org>
Thu, 28 Oct 2010 18:31:49 +0000 (20:31 +0200)
committerJean Delvare <khali@endymion.delvare>
Thu, 28 Oct 2010 18:31:49 +0000 (20:31 +0200)
Wrong index caused the wrong register value to be read, resulting in
random LSB for voltage limits.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
drivers/hwmon/w83795.c

index e916c04..9d73768 100644 (file)
@@ -1405,7 +1405,7 @@ show_in(struct device *dev, struct device_attribute *attr, char *buf)
                lsb_idx = IN_LSB_SHIFT_IDX[index][IN_LSB_IDX];
                val <<= 2;
                val |= (data->in_lsb[lsb_idx][nr] >>
-                       IN_LSB_SHIFT_IDX[lsb_idx][IN_LSB_SHIFT]) & 0x03;
+                       IN_LSB_SHIFT_IDX[index][IN_LSB_SHIFT]) & 0x03;
                if ((index >= 17) &&
                    !((data->has_gain >> (index - 17)) & 1))
                        val *= 8;