Commit 2b653e06 authored by Zhao Yakui's avatar Zhao Yakui Committed by Linus Torvalds

rtc: fix the error in the function of cmos_set_alarm

There is a bug in the function of cmos_set_alarm.  RTC alarm time for October
can't be set correctly.

For October: 0x0A will be written into the RTC region (MONTH_ALARM) in current
kernel.  But in fact 0x10 should be written.  Wildcards are also not handled
correctly.
Signed-off-by: default avatarZhao Yakui <yakui.zhao@intel.com>
Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent bc65c724
...@@ -198,9 +198,8 @@ static int cmos_set_alarm(struct device *dev, struct rtc_wkalrm *t) ...@@ -198,9 +198,8 @@ static int cmos_set_alarm(struct device *dev, struct rtc_wkalrm *t)
/* Writing 0xff means "don't care" or "match all". */ /* Writing 0xff means "don't care" or "match all". */
mon = t->time.tm_mon; mon = t->time.tm_mon + 1;
mon = (mon < 12) ? BIN2BCD(mon) : 0xff; mon = (mon <= 12) ? BIN2BCD(mon) : 0xff;
mon++;
mday = t->time.tm_mday; mday = t->time.tm_mday;
mday = (mday >= 1 && mday <= 31) ? BIN2BCD(mday) : 0xff; mday = (mday >= 1 && mday <= 31) ? BIN2BCD(mday) : 0xff;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment