Hi, 2019年11月1日(金) 18:54 Ilya Ledvich <ilya@xxxxxxxxxxxxxx>: > > The RTC month value is 1-indexed, but the kernel assumes it is 0-indexed. > This may result in the RTC not rolling over correctly. > > Signed-off-by: Ilya Ledvich <ilya@xxxxxxxxxxxxxx> Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@xxxxxxxxxxx> Best regards, Nobuhiro > --- > drivers/rtc/rtc-em3027.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/rtc/rtc-em3027.c b/drivers/rtc/rtc-em3027.c > index 77cca1392253..9f176bce48ba 100644 > --- a/drivers/rtc/rtc-em3027.c > +++ b/drivers/rtc/rtc-em3027.c > @@ -71,7 +71,7 @@ static int em3027_get_time(struct device *dev, struct rtc_time *tm) > tm->tm_hour = bcd2bin(buf[2]); > tm->tm_mday = bcd2bin(buf[3]); > tm->tm_wday = bcd2bin(buf[4]); > - tm->tm_mon = bcd2bin(buf[5]); > + tm->tm_mon = bcd2bin(buf[5]) - 1; > tm->tm_year = bcd2bin(buf[6]) + 100; > > return 0; > @@ -94,7 +94,7 @@ static int em3027_set_time(struct device *dev, struct rtc_time *tm) > buf[3] = bin2bcd(tm->tm_hour); > buf[4] = bin2bcd(tm->tm_mday); > buf[5] = bin2bcd(tm->tm_wday); > - buf[6] = bin2bcd(tm->tm_mon); > + buf[6] = bin2bcd(tm->tm_mon + 1); > buf[7] = bin2bcd(tm->tm_year % 100); > > /* write time/date registers */ > -- > 2.20.1 > -- Nobuhiro Iwamatsu iwamatsu at {nigauri.org / debian.org} GPG ID: 40AD1FA6