summary refs log tree commit diff
path: root/arch/ppc64/kernel
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2005-09-07 19:52:38 +1000
committerPaul Mackerras <paulus@samba.org>2005-09-09 22:11:34 +1000
commit38c0ff06d5ba05b6fbf18652c49747ad320aaeb0 (patch)
treeba5fc6fe31c4a24c127d6b6a667c7d3c334b967a /arch/ppc64/kernel
parent34b5233f379847097a1925a02b62f129c407c1e4 (diff)
downloadlinux-38c0ff06d5ba05b6fbf18652c49747ad320aaeb0.tar.gz
[PATCH] ppc64: iSeries early printk breakage
The earlier commit 8d9273918635f0301368c01b56c03a6f339e8d51
(Consolidate early console and PPCDBG code) broke iSeries because
it caused unregister_console(&udbg_console) to be called
unconditionally.  iSeries never registers the udbg_console.

This just reverts part of the change.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc64/kernel')
-rw-r--r--arch/ppc64/kernel/udbg.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/ppc64/kernel/udbg.c b/arch/ppc64/kernel/udbg.c
index ed6766e21f5a..d49c3613c8ec 100644
--- a/arch/ppc64/kernel/udbg.c
+++ b/arch/ppc64/kernel/udbg.c
@@ -158,14 +158,20 @@ static struct console udbg_console = {
 	.index	= -1,
 };
 
+static int early_console_initialized;
+
 void __init disable_early_printk(void)
 {
+	if (!early_console_initialized)
+		return;
 	unregister_console(&udbg_console);
+	early_console_initialized = 0;
 }
 
 /* called by setup_system */
 void register_early_udbg_console(void)
 {
+	early_console_initialized = 1;
 	register_console(&udbg_console);
 }