Skip to content

Commit

Permalink
hwmon/ds1621: Fix swapped temperature limits
Browse files Browse the repository at this point in the history
The low temperature limit and the high temperature limit registers
have been accidentally swapped, causing alarms to trigger
when they shouldn't.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Aurelien Jarno <aurelien@aurel32.net>
  • Loading branch information
Jean Delvare authored and Jean Delvare committed May 27, 2007
1 parent c420bc9 commit 7574d7e
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/hwmon/ds1621.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ MODULE_PARM_DESC(polarity, "Output's polarity: 0 = active high, 1 = active low")

/* The DS1621 registers */
#define DS1621_REG_TEMP 0xAA /* word, RO */
#define DS1621_REG_TEMP_MIN 0xA1 /* word, RW */
#define DS1621_REG_TEMP_MAX 0xA2 /* word, RW */
#define DS1621_REG_TEMP_MIN 0xA2 /* word, RW */
#define DS1621_REG_TEMP_MAX 0xA1 /* word, RW */
#define DS1621_REG_CONF 0xAC /* byte, RW */
#define DS1621_COM_START 0xEE /* no data */
#define DS1621_COM_STOP 0x22 /* no data */
Expand Down Expand Up @@ -328,9 +328,9 @@ static struct ds1621_data *ds1621_update_client(struct device *dev)

/* reset alarms if necessary */
new_conf = data->conf;
if (data->temp < data->temp_min)
if (data->temp > data->temp_min)
new_conf &= ~DS1621_ALARM_TEMP_LOW;
if (data->temp > data->temp_max)
if (data->temp < data->temp_max)
new_conf &= ~DS1621_ALARM_TEMP_HIGH;
if (data->conf != new_conf)
ds1621_write_value(client, DS1621_REG_CONF,
Expand Down

0 comments on commit 7574d7e

Please sign in to comment.