diff options
Diffstat (limited to 'kernel/time/alarmtimer.c')
| -rw-r--r-- | kernel/time/alarmtimer.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c index 3e5cba27447..07f7c6f9330 100644 --- a/kernel/time/alarmtimer.c +++ b/kernel/time/alarmtimer.c @@ -260,12 +260,15 @@ static int alarmtimer_suspend(struct device *dev)  	/* Setup an rtc timer to fire that far in the future */  	rtc_timer_cancel(rtc, &rtctimer); -	rtc_read_time(rtc, &tm); +	ret = rtc_read_time(rtc, &tm); +	if (ret < 0) +		goto out;  	now = rtc_tm_to_ktime(tm);  	now = ktime_add(now, min);  	/* Set alarm, if in the past reject suspend briefly to handle */  	ret = rtc_timer_start(rtc, &rtctimer, now, ktime_set(0, 0)); +out:  	if (ret < 0)  		__pm_wakeup_event(ws, MSEC_PER_SEC);  	return ret; |