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: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> 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>
This commit is contained in:
parent
bc65c724d5
commit
2b653e06ce
|
@ -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". */
|
||||
|
||||
mon = t->time.tm_mon;
|
||||
mon = (mon < 12) ? BIN2BCD(mon) : 0xff;
|
||||
mon++;
|
||||
mon = t->time.tm_mon + 1;
|
||||
mon = (mon <= 12) ? BIN2BCD(mon) : 0xff;
|
||||
|
||||
mday = t->time.tm_mday;
|
||||
mday = (mday >= 1 && mday <= 31) ? BIN2BCD(mday) : 0xff;
|
||||
|
|
Loading…
Reference in New Issue