serial: uartps: Fix interrupt mask issue to handle the RX interrupts properly
This patch Correct the RX interrupt mask value to handle the
RX interrupts properly.
Fixes: c8dbdc842d
("serial: xuartps: Rewrite the interrupt handling logic")
Signed-off-by: Nava kishore Manne <nava.manne@xilinx.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
32cf21ac4e
commit
260683137a
|
@ -123,7 +123,7 @@ MODULE_PARM_DESC(rx_timeout, "Rx timeout, 1-255");
|
||||||
#define CDNS_UART_IXR_RXTRIG 0x00000001 /* RX FIFO trigger interrupt */
|
#define CDNS_UART_IXR_RXTRIG 0x00000001 /* RX FIFO trigger interrupt */
|
||||||
#define CDNS_UART_IXR_RXFULL 0x00000004 /* RX FIFO full interrupt. */
|
#define CDNS_UART_IXR_RXFULL 0x00000004 /* RX FIFO full interrupt. */
|
||||||
#define CDNS_UART_IXR_RXEMPTY 0x00000002 /* RX FIFO empty interrupt. */
|
#define CDNS_UART_IXR_RXEMPTY 0x00000002 /* RX FIFO empty interrupt. */
|
||||||
#define CDNS_UART_IXR_MASK 0x00001FFF /* Valid bit mask */
|
#define CDNS_UART_IXR_RXMASK 0x000021e7 /* Valid RX bit mask */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Do not enable parity error interrupt for the following
|
* Do not enable parity error interrupt for the following
|
||||||
|
@ -364,7 +364,7 @@ static irqreturn_t cdns_uart_isr(int irq, void *dev_id)
|
||||||
cdns_uart_handle_tx(dev_id);
|
cdns_uart_handle_tx(dev_id);
|
||||||
isrstatus &= ~CDNS_UART_IXR_TXEMPTY;
|
isrstatus &= ~CDNS_UART_IXR_TXEMPTY;
|
||||||
}
|
}
|
||||||
if (isrstatus & CDNS_UART_IXR_MASK)
|
if (isrstatus & CDNS_UART_IXR_RXMASK)
|
||||||
cdns_uart_handle_rx(dev_id, isrstatus);
|
cdns_uart_handle_rx(dev_id, isrstatus);
|
||||||
|
|
||||||
spin_unlock(&port->lock);
|
spin_unlock(&port->lock);
|
||||||
|
|
Loading…
Reference in New Issue