提交 41788f05 编写于 作者: B Ben Dooks 提交者: Greg Kroah-Hartman

ARM: meson: serial: ensure console port uart enabled

Ensure the UART's transmitter is enabled when meson_console_putchar is
called. If not, then the console output is corrupt (the hardware seems
to try and send /something/ even if the TX is disabled).

This fixes corrupt console output on events such as trying to reboot the
system since the console tx may be called after drivers shutdown method has
been called.
Signed-off-by: NBen Dooks <ben.dooks@codethink.co.uk>
Reported-by: NEdward Cragg <edward.cragg@codethink.co.uk>
Tested-by: NCarlo Caione <carlo@endlessm.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 88679739
......@@ -472,6 +472,7 @@ static void meson_serial_console_write(struct console *co, const char *s,
struct uart_port *port;
unsigned long flags;
int locked;
u32 val;
port = meson_ports[co->index];
if (!port)
......@@ -487,6 +488,9 @@ static void meson_serial_console_write(struct console *co, const char *s,
locked = 1;
}
val = readl(port->membase + AML_UART_CONTROL);
writel(val | AML_UART_TX_EN, port->membase + AML_UART_CONTROL);
uart_console_write(port, s, count, meson_console_putchar);
if (locked)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册