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 . Signed-off-by: James Chapman Index: linux-2.6.14/drivers/i2c/chips/ds1337.c =================================================================== --- linux-2.6.14.orig/drivers/i2c/chips/ds1337.c 2005-11-02 19:38:49.000000000 +0000 +++ linux-2.6.14/drivers/i2c/chips/ds1337.c 2005-11-02 19:38:58.000000000 +0000 @@ -177,9 +177,9 @@ 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;