pch_uart: Fix return value issue
authorTomoya MORINAGA <tomoya.rohm@gmail.com>
Mon, 26 Mar 2012 05:43:05 +0000 (14:43 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Apr 2012 19:08:42 +0000 (12:08 -0700)
Currently, occurring line status interrupt,
returned value is not set in interrupt handler function.
As a result, 0 can be returned.

This patch adds setting returned value.

Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/pch_uart.c

index d2873c67d25d1b5103f09dddcf904b8e9b454253..e7d91d973d52f8e499da8869c3dc17f49b346b29 100644 (file)
@@ -39,6 +39,7 @@ enum {
        PCH_UART_HANDLED_RX_ERR_INT_SHIFT,
        PCH_UART_HANDLED_RX_TRG_INT_SHIFT,
        PCH_UART_HANDLED_MS_INT_SHIFT,
+       PCH_UART_HANDLED_LS_INT_SHIFT,
 };
 
 enum {
@@ -63,6 +64,8 @@ enum {
                                        PCH_UART_HANDLED_RX_TRG_INT_SHIFT)<<1))
 #define PCH_UART_HANDLED_MS_INT        (1<<((PCH_UART_HANDLED_MS_INT_SHIFT)<<1))
 
+#define PCH_UART_HANDLED_LS_INT        (1<<((PCH_UART_HANDLED_LS_INT_SHIFT)<<1))
+
 #define PCH_UART_RBR           0x00
 #define PCH_UART_THR           0x00
 
@@ -1058,6 +1061,8 @@ static irqreturn_t pch_uart_interrupt(int irq, void *dev_id)
                                                UART_LSR_PE | UART_LSR_OE)) {
                                pch_uart_err_ir(priv, lsr);
                                ret = PCH_UART_HANDLED_RX_ERR_INT;
+                       } else {
+                               ret = PCH_UART_HANDLED_LS_INT;
                        }
                        break;
                case PCH_UART_IID_RDR:  /* Received Data Ready */