aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.4/950-0124-sc16is7xx-Don-t-spin-if-no-data-received.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0124-sc16is7xx-Don-t-spin-if-no-data-received.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0124-sc16is7xx-Don-t-spin-if-no-data-received.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0124-sc16is7xx-Don-t-spin-if-no-data-received.patch b/target/linux/bcm27xx/patches-5.4/950-0124-sc16is7xx-Don-t-spin-if-no-data-received.patch
new file mode 100644
index 0000000000..4331b6ebc6
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.4/950-0124-sc16is7xx-Don-t-spin-if-no-data-received.patch
@@ -0,0 +1,23 @@
+From 55b04ba6f5257f70ed806a1c7b93008dd1f5a515 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Tue, 6 Nov 2018 12:57:48 +0000
+Subject: [PATCH] sc16is7xx: Don't spin if no data received
+
+See: https://github.com/raspberrypi/linux/issues/2676
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ drivers/tty/serial/sc16is7xx.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/tty/serial/sc16is7xx.c
++++ b/drivers/tty/serial/sc16is7xx.c
+@@ -696,6 +696,8 @@ static bool sc16is7xx_port_irq(struct sc
+ 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);