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 <p...@kernel.org>
---
 drivers/serial/usbtty.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/serial/usbtty.c b/drivers/serial/usbtty.c
index f1c1a260da..02f8edf200 100644
--- a/drivers/serial/usbtty.c
+++ b/drivers/serial/usbtty.c
@@ -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 {
-- 
2.20.1

Reply via email to