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>
        .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);
 }