From: Anton Blanchard Date: Wed, 14 Sep 2005 21:19:18 +0000 (-0700) Subject: [PATCH] hvc_console: start kernel thread before registering tty X-Git-Tag: v2.6.14-rc2~27 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=ef4cbee0b0d0f791bb593f99b702410f3c0efce6;p=~shefty%2Frdma-dev.git [PATCH] hvc_console: start kernel thread before registering tty Its possible that we can write to the hvc_console tty as soon it is registered. Recently this started happening due to (what looks like) a change to the hotplug code. Unfortunately at this stage we have not started the khvcd kernel thread and oops. The solution is to start the kernel thread before registering the tty. Signed-off-by: Anton Blanchard Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/char/hvc_console.c b/drivers/char/hvc_console.c index cddb789902d..f9217763467 100644 --- a/drivers/char/hvc_console.c +++ b/drivers/char/hvc_console.c @@ -839,9 +839,6 @@ int __init hvc_init(void) hvc_driver->flags = TTY_DRIVER_REAL_RAW; tty_set_operations(hvc_driver, &hvc_ops); - if (tty_register_driver(hvc_driver)) - panic("Couldn't register hvc console driver\n"); - /* Always start the kthread because there can be hotplug vty adapters * added later. */ hvc_task = kthread_run(khvcd, NULL, "khvcd"); @@ -851,6 +848,9 @@ int __init hvc_init(void) return -EIO; } + if (tty_register_driver(hvc_driver)) + panic("Couldn't register hvc console driver\n"); + return 0; } module_init(hvc_init);