[PATCH] i2c: ds1337 BCD conversion fix
authorJames Chapman <jchapman@katalix.com>
Sun, 6 Nov 2005 22:07:38 +0000 (23:07 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 8 Nov 2005 05:46:37 +0000 (21:46 -0800)
Fix BCD value errors when month=9, moving the increment inside the
BIN2BCD macro.
Fix similar code for the weekday value, just for consistency.

This bug was reported by Michael Burian <dynmail1@gassner-waagen.at>.

Signed-off-by: James Chapman <jchapman@katalix.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/i2c/chips/ds1337.c

index 01b0370..02682fb 100644 (file)
@@ -164,9 +164,9 @@ static int ds1337_set_datetime(struct i2c_client *client, struct rtc_time *dt)
        buf[1] = BIN2BCD(dt->tm_sec);
        buf[2] = BIN2BCD(dt->tm_min);
        buf[3] = BIN2BCD(dt->tm_hour);
-       buf[4] = BIN2BCD(dt->tm_wday) + 1;
+       buf[4] = BIN2BCD(dt->tm_wday + 1);
        buf[5] = BIN2BCD(dt->tm_mday);
-       buf[6] = BIN2BCD(dt->tm_mon) + 1;
+       buf[6] = BIN2BCD(dt->tm_mon + 1);
        val = dt->tm_year;
        if (val >= 100) {
                val -= 100;