sh: fix no sys_timer case

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Thursday, March 26, 2009 - 12:20 pm

Gitweb:     http://git.kernel.org/linus/07821d3310996746a2cf1e9c705ffe64223d1112
Commit:     07821d3310996746a2cf1e9c705ffe64223d1112
Parent:     70f0800133b2a6d694c10908b8673a5327b3bfd6
Author:     Magnus Damm <damm@igel.co.jp>
AuthorDate: Thu Jan 22 09:55:49 2009 +0000
Committer:  Paul Mundt <lethal@linux-sh.org>
CommitDate: Thu Jan 29 16:45:47 2009 +0900

    sh: fix no sys_timer case
    
    Handle the case with a sys_timer set to NULL.
    
    Signed-off-by: Magnus Damm <damm@igel.co.jp>
    Signed-off-by: Paul Mundt <lethal@linux-sh.org>
---
 arch/sh/kernel/time_32.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/arch/sh/kernel/time_32.c b/arch/sh/kernel/time_32.c
index ca22eef..766554b 100644
--- a/arch/sh/kernel/time_32.c
+++ b/arch/sh/kernel/time_32.c
@@ -181,7 +181,12 @@ static struct sysdev_class timer_sysclass = {
 
 static int __init timer_init_sysfs(void)
 {
-	int ret = sysdev_class_register(&timer_sysclass);
+	int ret;
+
+	if (!sys_timer)
+		return 0;
+
+	ret = sysdev_class_register(&timer_sysclass);
 	if (ret != 0)
 		return ret;
 
@@ -230,5 +235,8 @@ void __init time_init(void)
 	 * initialized for us.
 	 */
 	sys_timer = get_sys_timer();
+	if (unlikely(!sys_timer))
+		panic("System timer missing.\n");
+
 	printk(KERN_INFO "Using %s for system timer\n", sys_timer->name);
 }
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
sh: fix no sys_timer case, Linux Kernel Mailing ..., (Thu Mar 26, 12:20 pm)