From 5df2e4e95afbcfc94c1b328c49070105916c1023 Mon Sep 17 00:00:00 2001 From: Jeff Dike Date: Fri, 30 Jun 2006 01:55:55 -0700 Subject: [PATCH] --- yaml --- r: 31396 b: refs/heads/master c: 6edb08620fbeeeba81ab63c7129a51cdb3acd8b3 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/um/drivers/stderr_console.c | 22 ++++++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index b1d07ad16793..18d797a437a7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 190f4939222b8c07cd62a20e1ce0c7a97fffde99 +refs/heads/master: 6edb08620fbeeeba81ab63c7129a51cdb3acd8b3 diff --git a/trunk/arch/um/drivers/stderr_console.c b/trunk/arch/um/drivers/stderr_console.c index 429ae8e6c7e5..6d2cf32a9e8f 100644 --- a/trunk/arch/um/drivers/stderr_console.c +++ b/trunk/arch/um/drivers/stderr_console.c @@ -8,10 +8,7 @@ /* * Don't register by default -- as this registeres very early in the - * boot process it becomes the default console. And as this isn't a - * real tty driver init isn't able to open /dev/console then. - * - * In most cases this isn't what you want ... + * boot process it becomes the default console. */ static int use_stderr_console = 0; @@ -43,3 +40,20 @@ static int stderr_setup(char *str) return 1; } __setup("stderr=", stderr_setup); + +/* The previous behavior of not unregistering led to /dev/console being + * impossible to open. My FC5 filesystem started having init die, and the + * system panicing because of this. Unregistering causes the real + * console to become the default console, and /dev/console can then be + * opened. Making this an initcall makes this happen late enough that + * there is no added value in dumping everything to stderr, and the + * normal console is good enough to show you all available output. + */ +static int __init unregister_stderr(void) +{ + unregister_console(&stderr_console); + + return 0; +} + +__initcall(unregister_stderr);