diff options
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serial/meson_uart.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c index 6c365267e26a..b12a37bd37b6 100644 --- a/drivers/tty/serial/meson_uart.c +++ b/drivers/tty/serial/meson_uart.c | |||
@@ -237,8 +237,10 @@ static irqreturn_t meson_uart_interrupt(int irq, void *dev_id) | |||
237 | if (!(readl(port->membase + AML_UART_STATUS) & AML_UART_RX_EMPTY)) | 237 | if (!(readl(port->membase + AML_UART_STATUS) & AML_UART_RX_EMPTY)) |
238 | meson_receive_chars(port); | 238 | meson_receive_chars(port); |
239 | 239 | ||
240 | if (!(readl(port->membase + AML_UART_STATUS) & AML_UART_TX_FULL)) | 240 | if (!(readl(port->membase + AML_UART_STATUS) & AML_UART_TX_FULL)) { |
241 | meson_uart_start_tx(port); | 241 | if (readl(port->membase + AML_UART_CONTROL) & AML_UART_TX_INT_EN) |
242 | meson_uart_start_tx(port); | ||
243 | } | ||
242 | 244 | ||
243 | spin_unlock(&port->lock); | 245 | spin_unlock(&port->lock); |
244 | 246 | ||