udbg_putc is a *function pointer* that is initialized during
udbg_init_cpm. It might not be initialized properly when called from
udbg_putc_cpm(), so (recursively) call udbg_putc_cpm() directly.
Signed-off-by: Nye Liu <nyet@mrv.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
        u8 __iomem *txbuf = (u8 __iomem __force *)in_be32(&cpm_udbg_txdesc[1]);
 
        if (c == '\n')
-               udbg_putc('\r');
+               udbg_putc_cpm('\r');
 
        while (in_be32(&cpm_udbg_txdesc[0]) & 0x80000000)
                ;
                setbat(1, 0xf0000000, 0xf0000000, 1024*1024, _PAGE_IO);
 #endif
                udbg_putc = udbg_putc_cpm;
-               udbg_putc('X');
        }
 }
 #endif