ARM: 8717/2: debug printch/printascii: translate '\n' to "\r\n" not "\n\r"
authorNicolas Pitre <nicolas.pitre@linaro.org>
Thu, 2 Nov 2017 20:58:41 +0000 (21:58 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Mon, 6 Nov 2017 11:58:16 +0000 (11:58 +0000)
Some terminals apparently have issues with "\n\r" and mess up the
display. Let's use the traditional "\r\n" ordering.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Reported-by: Chris Brandt <Chris.Brandt@renesas.com>
Tested-by: Chris Brandt <Chris.Brandt@renesas.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/kernel/debug.S

index 423f4432586d079317e82eabd3347b6e4df08709..611ded664d612aa7bc08c95102ede5f8232e8387 100644 (file)
@@ -85,25 +85,28 @@ hexbuf_rel: .long   hexbuf_addr - .
 
 ENTRY(printascii)
                addruart_current r3, r1, r2
-               b       2f
-1:             waituart r2, r3
-               senduart r1, r3
-               busyuart r2, r3
-               teq     r1, #'\n'
-               moveq   r1, #'\r'
-               beq     1b
-2:             teq     r0, #0
+1:             teq     r0, #0
                ldrneb  r1, [r0], #1
                teqne   r1, #0
-               bne     1b
-               ret     lr
+               reteq   lr
+2:             teq     r1, #'\n'
+               bne     3f
+               mov     r1, #'\r'
+               waituart r2, r3
+               senduart r1, r3
+               busyuart r2, r3
+               mov     r1, #'\n'
+3:             waituart r2, r3
+               senduart r1, r3
+               busyuart r2, r3
+               b       1b
 ENDPROC(printascii)
 
 ENTRY(printch)
                addruart_current r3, r1, r2
                mov     r1, r0
                mov     r0, #0
-               b       1b
+               b       2b
 ENDPROC(printch)
 
 #ifdef CONFIG_MMU