It was reported that the alarmtimer-suspend test hangs on older
systems that don't support _ALARM clockids.

This is due to the fact that we don't check if the timer_create
fails, and thus when we suspend, the system will not programatically
resume.

Fix this by checking the timer_create call for errors.

Cc: Shuah Khan <shua...@osg.samsung.com>
Cc: Prarit Bhargava <pra...@redhat.com>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Richard Cochran <richardcoch...@gmail.com>
Signed-off-by: John Stultz <john.stu...@linaro.org>
---
 tools/testing/selftests/timers/alarmtimer-suspend.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/timers/alarmtimer-suspend.c 
b/tools/testing/selftests/timers/alarmtimer-suspend.c
index 13586b6..72cacf5 100644
--- a/tools/testing/selftests/timers/alarmtimer-suspend.c
+++ b/tools/testing/selftests/timers/alarmtimer-suspend.c
@@ -152,7 +152,11 @@ int main(void)
                        alarm_clock_id++) {
 
                alarmcount = 0;
-               timer_create(alarm_clock_id, &se, &tm1);
+               if (timer_create(alarm_clock_id, &se, &tm1) == -1) {
+                       printf("timer_create failled, %s unspported?\n",
+                                       clockstring(alarm_clock_id));
+                       break;
+               }
 
                clock_gettime(alarm_clock_id, &start_time);
                printf("Start time (%s): %ld:%ld\n", 
clockstring(alarm_clock_id),
-- 
1.9.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/

Reply via email to