diff options
| author | Jiri Kosina <jkosina@suse.cz> | 2017-09-05 11:07:05 +0200 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2017-09-05 11:07:05 +0200 |
| commit | b11918bdbe79bd002d00a9f1d78958167ccfad99 (patch) | |
| tree | 931c5680a242041f49b07b20823012ae9bdb98c2 /drivers/rtc/interface.c | |
| parent | d3c7ad2432115b0b53fb838c14b8ad9ad72f7254 (diff) | |
| parent | 0152b29c89650654abf4f0e96bbf2566b85ae55d (diff) | |
Merge branch 'for-4.14/battery' into for-linus
- support for batteries driven by HID input reports, from Dmitry Torokhov
Diffstat (limited to 'drivers/rtc/interface.c')
| -rw-r--r-- | drivers/rtc/interface.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/rtc/interface.c b/drivers/rtc/interface.c index fc0fa7577636..8cec9a02c0b8 100644 --- a/drivers/rtc/interface.c +++ b/drivers/rtc/interface.c @@ -227,6 +227,13 @@ int __rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm) missing = year; } + /* Can't proceed if alarm is still invalid after replacing + * missing fields. + */ + err = rtc_valid_tm(&alarm->time); + if (err) + goto done; + /* with luck, no rollover is needed */ t_now = rtc_tm_to_time64(&now); t_alm = rtc_tm_to_time64(&alarm->time); @@ -278,9 +285,9 @@ int __rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm) dev_warn(&rtc->dev, "alarm rollover not handled\n"); } -done: err = rtc_valid_tm(&alarm->time); +done: if (err) { dev_warn(&rtc->dev, "invalid alarm value: %d-%d-%d %d:%d:%d\n", alarm->time.tm_year + 1900, alarm->time.tm_mon + 1, |
