mirror of
https://github.com/torvalds/linux.git
synced 2024-12-21 10:31:54 +00:00
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: Ben Dooks <ben.dooks@codethink.co.uk> Tested-by: Carlo Caione <carlo@endlessm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f1dd05c829
commit
39469654db
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user