serial: usbtty: Fix puts function
authorPali Rohár <pali@kernel.org>
Sun, 7 Feb 2021 13:50:01 +0000 (14:50 +0100)
committerMarek Vasut <marex@denx.de>
Wed, 3 Mar 2021 03:12:45 +0000 (04:12 +0100)
This function has incorrect implementation of prepending CR prior LF.
Without this patch it prepended CR prior whole string which is going to be
written and let LF without leading CR. Fix this issue by inserting CR at
correct place to make output on usbtty serial console more readable.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Acked-by: Pavel Machek <pavel@ucw.cz>
drivers/serial/usbtty.c

index f1c1a26..02f8edf 100644 (file)
@@ -500,8 +500,8 @@ void usbtty_puts(struct stdio_dev *dev, const char *str)
                n = next_nl_pos (str);
 
                if (str[n] == '\n') {
-                       __usbtty_puts("\r", 1);
-                       __usbtty_puts(str, n + 1);
+                       __usbtty_puts(str, n);
+                       __usbtty_puts("\r\n", 2);
                        str += (n + 1);
                        len -= (n + 1);
                } else {