summaryrefslogtreecommitdiff
path: root/drivers/rtc/rtc-vt8500.c
diff options
context:
space:
mode:
authorTony Prisk <linux@prisktech.co.nz>2013-02-04 22:28:44 (GMT)
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-05 09:38:47 (GMT)
commit3bdf8cd3226fe11f26ce32bbb4c5e381cf807c89 (patch)
tree34345ec62eee5542e55f9f2070557eb2ce711fd6 /drivers/rtc/rtc-vt8500.c
parent1363b563a728097f34af9469452ec656995ca033 (diff)
downloadlinux-3bdf8cd3226fe11f26ce32bbb4c5e381cf807c89.tar.xz
drivers/rtc/rtc-vt8500.c: fix year field in vt8500_rtc_set_time()
The year field is incorrectly masked when setting the date. If the year is beyond 2099, the year field will be incorrectly updated in hardware. This patch masks the year field correctly. Signed-off-by: Edgar Toernig <froese@gmx.de> Signed-off-by: Tony Prisk <linux@prisktech.co.nz> Cc: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/rtc/rtc-vt8500.c')
-rw-r--r--drivers/rtc/rtc-vt8500.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/rtc/rtc-vt8500.c b/drivers/rtc/rtc-vt8500.c
index 00c930f..2730533 100644
--- a/drivers/rtc/rtc-vt8500.c
+++ b/drivers/rtc/rtc-vt8500.c
@@ -137,7 +137,7 @@ static int vt8500_rtc_set_time(struct device *dev, struct rtc_time *tm)
return -EINVAL;
}
- writel((bin2bcd(tm->tm_year - 100) << DATE_YEAR_S)
+ writel((bin2bcd(tm->tm_year % 100) << DATE_YEAR_S)
| (bin2bcd(tm->tm_mon + 1) << DATE_MONTH_S)
| (bin2bcd(tm->tm_mday))
| ((tm->tm_year >= 200) << DATE_CENTURY_S),