summaryrefslogtreecommitdiffstats
path: root/drivers/tty
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2014-09-05 09:45:17 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-09-08 16:33:56 -0700
commit6731af573ac28de2297002992f38caa760e3dadf (patch)
treeace8788d67beca64d10e28b4fbb72e55f09afbc0 /drivers/tty
parent35b675b9100fc38f58cb75b30e422ecd342519a8 (diff)
downloadlinux-0-day-6731af573ac28de2297002992f38caa760e3dadf.tar.gz
linux-0-day-6731af573ac28de2297002992f38caa760e3dadf.tar.xz
tty: xuartps: Fix tx_emtpy() callback
The tx_empty() callback currently checks the TXEMPTY bit in the interrupt status register to decided whether the FIFO should be reported as empty or not. The bit in this register gets set when the FIFO state transitions from non-empty to empty but is cleared again in the interrupt handler. This means it is not suitable to be used to decided whether the FIFO is currently empty or not. Instead use the TXEMPTY bit from the status register which will be set as long as the FIFO is empty. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Soren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/serial/xilinx_uartps.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c
index 01951d27cc03c..806e4bcadbd7e 100644
--- a/drivers/tty/serial/xilinx_uartps.c
+++ b/drivers/tty/serial/xilinx_uartps.c
@@ -581,7 +581,7 @@ static unsigned int cdns_uart_tx_empty(struct uart_port *port)
{
unsigned int status;
- status = cdns_uart_readl(CDNS_UART_ISR_OFFSET) & CDNS_UART_IXR_TXEMPTY;
+ status = cdns_uart_readl(CDNS_UART_SR_OFFSET) & CDNS_UART_SR_TXEMPTY;
return status ? TIOCSER_TEMT : 0;
}