]> git.baikalelectronics.ru Git - kernel.git/commit
serial: 8250_fintek: Fix garbled text for console
authorJi-Ze Hong (Peter Hong) <hpeter@gmail.com>
Wed, 15 Dec 2021 07:58:35 +0000 (15:58 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Dec 2021 20:51:07 +0000 (21:51 +0100)
commitbfc8f04b3f3ca9cbfc672bfa39569354ad55a3c5
tree5c4826011f782868ae735353b95e5c6156e68c53
parent888a3962c7d57d9ffe96ae23d657741162ecfaae
serial: 8250_fintek: Fix garbled text for console

Commit 7a62a4aee544 ("serial: 8250_fintek: Enable high speed mode on Fintek F81866")
introduced support to use high baudrate with Fintek SuperIO UARTs. It'll
change clocksources when the UART probed.

But when user add kernel parameter "console=ttyS0,115200 console=tty0" to make
the UART as console output, the console will output garbled text after the
following kernel message.

[    3.681188] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled

The issue is occurs in following step:
probe_setup_port() -> fintek_8250_goto_highspeed()

It change clocksource from 115200 to 921600 with wrong time, it should change
clocksource in set_termios() not in probed. The following 3 patches are
implemented change clocksource in fintek_8250_set_termios().

Commit 2000868437b9 ("serial: 8250_fintek: UART dynamic clocksource on Fintek F81216H")
Commit c698c7c0104f ("serial: 8250_fintek: UART dynamic clocksource on Fintek F81866")
Commit a7aaebf5128d ("serial: 8250_fintek: Add F81966 Support")

Due to the high baud rate had implemented above 3 patches and the patch
Commit 7a62a4aee544 ("serial: 8250_fintek: Enable high speed mode on Fintek F81866")
is bugged, So this patch will remove it.

Fixes: 7a62a4aee544 ("serial: 8250_fintek: Enable high speed mode on Fintek F81866")
Signed-off-by: Ji-Ze Hong (Peter Hong) <hpeter+linux_kernel@gmail.com>
Link: https://lore.kernel.org/r/20211215075835.2072-1-hpeter+linux_kernel@gmail.com
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_fintek.c