diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c index 54d1b9591b8da16a73a637025f91c8c513a8dba7..c7bad2b5aa4940323c1df61ed170928b454c7858 100644 --- a/drivers/tty/serial/meson_uart.c +++ b/drivers/tty/serial/meson_uart.c @@ -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)