This change is an improvement. The meson_uart_shutdown function should have the opposite operation to the meson_uart_startup function, but the meson_uart_shutdown of AML_UART_TX_EN is logically missing. Signed-off-by: Yu Tu <yu.tu@xxxxxxxxxxx> --- drivers/tty/serial/meson_uart.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c index 9b07e3534969..c17109d6d441 100644 --- a/drivers/tty/serial/meson_uart.c +++ b/drivers/tty/serial/meson_uart.c @@ -140,7 +140,7 @@ static void meson_uart_shutdown(struct uart_port *port) spin_lock_irqsave(&port->lock, flags); val = readl(port->membase + AML_UART_CONTROL); - val &= ~AML_UART_RX_EN; + val &= ~(AML_UART_RX_EN | AML_UART_TX_EN); val &= ~(AML_UART_RX_INT_EN | AML_UART_TX_INT_EN); writel(val, port->membase + AML_UART_CONTROL); -- 2.33.1