serial: sh-sci: Return IRQ_HANDLED when overrun if detected
authorYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Fri, 21 Aug 2015 18:02:36 +0000 (20:02 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Oct 2015 16:33:48 +0000 (17:33 +0100)
This patch fix an issue that the driver may cause "nobody cared" IRQ
when this driver detects the overrun flag only.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sh-sci.c

index 017b33cf5587e80947e890e31e597df09b7c35ff..c4cb7a5a2b11075355c8f7b93dc75436e3b81371 100644 (file)
@@ -1078,8 +1078,10 @@ static irqreturn_t sci_mpxed_interrupt(int irq, void *ptr)
                ret = sci_br_interrupt(irq, ptr);
 
        /* Overrun Interrupt */
-       if (orer_status & s->overrun_mask)
+       if (orer_status & s->overrun_mask) {
                sci_handle_fifo_overrun(port);
+               ret = IRQ_HANDLED;
+       }
 
        return ret;
 }