brcm2708: organize kernel patches
[openwrt/staging/chunkeey.git] / target / linux / brcm2708 / patches-4.19 / 950-0142-sc16is7xx-Don-t-spin-if-no-data-received.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0142-sc16is7xx-Don-t-spin-if-no-data-received.patch b/target/linux/brcm2708/patches-4.19/950-0142-sc16is7xx-Don-t-spin-if-no-data-received.patch
new file mode 100644 (file)
index 0000000..6f22881
--- /dev/null
@@ -0,0 +1,23 @@
+From 3f8c7542e12f23f6be2cd7206fbf808409db2848 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);