sc16is7xx: Don't spin if no data received
authorPhil Elwell <phil@raspberrypi.org>
Tue, 6 Nov 2018 12:57:48 +0000 (12:57 +0000)
committerpopcornmix <popcornmix@gmail.com>
Mon, 13 May 2019 23:08:03 +0000 (00:08 +0100)
See: https://github.com/raspberrypi/linux/issues/2676

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
drivers/tty/serial/sc16is7xx.c

index 55b178c..7789d35 100644 (file)
@@ -678,6 +678,8 @@ static bool sc16is7xx_port_irq(struct sc16is7xx_port *s, int portno)
                        rxlen = sc16is7xx_port_read(port, SC16IS7XX_RXLVL_REG);
                        if (rxlen)
                                sc16is7xx_handle_rx(port, rxlen, iir);
+                       else
+                               return false;
                        break;
                case SC16IS7XX_IIR_THRI_SRC:
                        sc16is7xx_handle_tx(port);