diff --git a/drivers/rtc/interface.c b/drivers/rtc/interface.c index 7cbdc9228dd50..6d4012dd69221 100644 --- a/drivers/rtc/interface.c +++ b/drivers/rtc/interface.c @@ -441,6 +441,11 @@ int rtc_set_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm) { int err; + if (!rtc->ops) + return -ENODEV; + else if (!rtc->ops->set_alarm) + return -EINVAL; + err = rtc_valid_tm(&alarm->time); if (err != 0) return err;