From f85f63647920c137faabc6ae865d8bed6d9204b9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 2 Feb 2024 15:41:29 +0000 Subject: [PATCH 0130/1002] serial: sc16is7xx: Don't spin if no data received There are multiple causes of interrupts, errors being one, and only the receipt of data warrants continued polling. See: https://github.com/raspberrypi/linux/issues/2676 Signed-off-by: Phil Elwell --- drivers/tty/serial/sc16is7xx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index f75b8bceb8ca..7690c8536cc0 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -760,6 +760,8 @@ static bool sc16is7xx_port_irq(struct sc16is7xx_port *s, int portno) if (rxlen) sc16is7xx_handle_rx(port, rxlen, iir); + else + rc = false; break; /* CTSRTS interrupt comes only when CTS goes inactive */ case SC16IS7XX_IIR_CTSRTS_SRC: -- 2.44.0