rtc: ds1302: fix write value for day of week register
authorAkinobu Mita <[email protected]>
Sun, 10 Apr 2016 14:59:24 +0000 (23:59 +0900)
committerAlexandre Belloni <[email protected]>
Fri, 20 May 2016 10:33:51 +0000 (12:33 +0200)
The valid range of day of week register for DS1302 is 1 to 7.  But the
set_time callback for rtc-ds1302 attempts to write the value of
tm->tm_wday which is in the range 0 to 6.  While the get_time callback
correctly decodes the register.

Signed-off-by: Akinobu Mita <[email protected]>
Cc: Sergey Yanovich <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Cc: Alexandre Belloni <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
drivers/rtc/rtc-ds1302.c

index 283e653fa1896aa9b60bfa91c5b366a22ec9973f..f5dd09fe5add5e65a40d9d178f0283a30c9e6548 100644 (file)
@@ -65,7 +65,7 @@ static int ds1302_rtc_set_time(struct device *dev, struct rtc_time *time)
        *bp++ = bin2bcd(time->tm_hour);
        *bp++ = bin2bcd(time->tm_mday);
        *bp++ = bin2bcd(time->tm_mon + 1);
-       *bp++ = time->tm_wday;
+       *bp++ = time->tm_wday + 1;
        *bp++ = bin2bcd(time->tm_year % 100);
        *bp++ = RTC_CMD_WRITE_DISABLE;