From 90a78ad80c1f7f046683968a49a723b678775a24 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 2 Feb 2011 11:45:23 +0100 Subject: [PATCH] --- yaml --- r: 234601 b: refs/heads/master c: 4359ac0ace1a2a267927390ad27f781a2f8e0ab8 h: refs/heads/master i: 234599: ab31f34f17fe81d23cc0314f68118825b3405b8c v: v3 --- [refs] | 2 +- trunk/kernel/posix-timers.c | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 4ffcc415f7fb..3bf620e1709e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 42285777631aa0654fbb6442057b3e176445c6c5 +refs/heads/master: 4359ac0ace1a2a267927390ad27f781a2f8e0ab8 diff --git a/trunk/kernel/posix-timers.c b/trunk/kernel/posix-timers.c index d9e5edfe8a1b..7f66143d1ce5 100644 --- a/trunk/kernel/posix-timers.c +++ b/trunk/kernel/posix-timers.c @@ -485,7 +485,18 @@ static struct pid *good_sigevent(sigevent_t * event) void register_posix_clock(const clockid_t clock_id, struct k_clock *new_clock) { if ((unsigned) clock_id >= MAX_CLOCKS) { - printk("POSIX clock register failed for clock_id %d\n", + printk(KERN_WARNING "POSIX clock register failed for clock_id %d\n", + clock_id); + return; + } + + if (!new_clock->clock_get) { + printk(KERN_WARNING "POSIX clock id %d lacks clock_get()\n", + clock_id); + return; + } + if (!new_clock->clock_getres) { + printk(KERN_WARNING "POSIX clock id %d lacks clock_getres()\n", clock_id); return; } @@ -961,8 +972,6 @@ SYSCALL_DEFINE2(clock_gettime, const clockid_t, which_clock, if (!kc) return -EINVAL; - if (!kc->clock_get) - return -EOPNOTSUPP; error = kc->clock_get(which_clock, &kernel_tp);