[PATCH] alarmtimer: add error prints when suspend failed

From: Laxman Dewangan
Date: Thu Mar 07 2013 - 14:29:30 EST


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 <ldewangan@xxxxxxxxxx>
---
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/