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

ARM: meson: serial: check for tx-irq enabled in irq code

Ensure that if the interrupt handler is entered then only try and do tx
work if the tx irq is enabled.
Signed-off-by: NBen Dooks <ben.dooks@codethink.co.uk>
Tested-by: NCarlo Caione <carlo@endlessm.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 f1dd05c8
......@@ -237,8 +237,10 @@ static irqreturn_t meson_uart_interrupt(int irq, void *dev_id)
if (!(readl(port->membase + AML_UART_STATUS) & AML_UART_RX_EMPTY))
meson_receive_chars(port);
if (!(readl(port->membase + AML_UART_STATUS) & AML_UART_TX_FULL))
meson_uart_start_tx(port);
if (!(readl(port->membase + AML_UART_STATUS) & AML_UART_TX_FULL)) {
if (readl(port->membase + AML_UART_CONTROL) & AML_UART_TX_INT_EN)
meson_uart_start_tx(port);
}
spin_unlock(&port->lock);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册