The alramtimer suspend failed when nearest alarm wakeup time is less than 2 sec or rtc timer can not start.
In suspend/resume stress testing, we found that sometimes alramtimer failed to suspend and hence it cancel the suspend ops. Add error prints in suspend failure to provide more info when failure occurs to help debugging. Signed-off-by: Laxman Dewangan <ldewan...@nvidia.com> --- kernel/time/alarmtimer.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c index f11d83b..eed5646 100644 --- a/kernel/time/alarmtimer.c +++ b/kernel/time/alarmtimer.c @@ -249,6 +249,8 @@ static int alarmtimer_suspend(struct device *dev) if (ktime_to_ns(min) < 2 * NSEC_PER_SEC) { __pm_wakeup_event(ws, 2 * MSEC_PER_SEC); + dev_err(dev, + "Nearest alarm wakeup time < 2sec, avoiding suspend\n"); return -EBUSY; } @@ -260,8 +262,10 @@ static int alarmtimer_suspend(struct device *dev) /* Set alarm, if in the past reject suspend briefly to handle */ ret = rtc_timer_start(rtc, &rtctimer, now, ktime_set(0, 0)); - if (ret < 0) + if (ret < 0) { __pm_wakeup_event(ws, MSEC_PER_SEC); + dev_err(dev, "RTC timer start failed, %d\n", ret); + } return ret; } #else -- 1.7.1.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/