Re: [PATCH] rtc: cros-ec: return -ETIME when refused to set alarms in the past

From: JeffyChen
Date: Mon Feb 26 2018 - 21:54:55 EST


Hi Brian,

Thanks for your reply.

On 02/27/2018 02:37 AM, Brian Norris wrote:
>+ /* Don't set an alarm in the past. */
>+ if ((u32)alarm_time <= current_time)
>+ return -ETIME;
>+
> if (!alrm->enabled) {
> /*
> * If the alarm is being disabled, send an alarm
>@@ -196,11 +200,7 @@ static int cros_ec_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
> alarm_offset = EC_RTC_ALARM_CLEAR;
> cros_ec_rtc->saved_alarm = (u32)alarm_time;
> } else {
>- /* Don't set an alarm in the past. */
>- if ((u32)alarm_time < current_time)
It's probably worth noting in the commit message that you're also fixing
the case where 'alarm_time == current_time'; in the current driver
source, it*looks* like you're setting a 0-second alarm. But in fact, 0
means EC_RTC_ALARM_CLEAR, which would disable the alarm. So you are
(correctly) returning -ETIME in that case.
Right, i'll rewrite the commit message, and move the check back here:)


Brian