layerscape: add patches-5.4
[openwrt/staging/wigyori.git] / target / linux / layerscape / patches-5.4 / 819-uart-0003-tty-serial-fsl_lpuart-add-magic-SysRq-support.patch
diff --git a/target/linux/layerscape/patches-5.4/819-uart-0003-tty-serial-fsl_lpuart-add-magic-SysRq-support.patch b/target/linux/layerscape/patches-5.4/819-uart-0003-tty-serial-fsl_lpuart-add-magic-SysRq-support.patch
new file mode 100644 (file)
index 0000000..043d246
--- /dev/null
@@ -0,0 +1,28 @@
+From 74d7e639cce7ae95cacd948dcf5ed3b28c3fff5c Mon Sep 17 00:00:00 2001
+From: Fugang Duan <fugang.duan@nxp.com>
+Date: Mon, 28 Jan 2019 10:27:27 +0800
+Subject: [PATCH] tty: serial: fsl_lpuart: add magic SysRq support
+
+Add magic SysRq key support.
+
+Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
+---
+ drivers/tty/serial/fsl_lpuart.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/drivers/tty/serial/fsl_lpuart.c
++++ b/drivers/tty/serial/fsl_lpuart.c
+@@ -920,7 +920,12 @@ static void lpuart32_rxint(struct lpuart
+                */
+               sr = lpuart32_read(&sport->port, UARTSTAT);
+               rx = lpuart32_read(&sport->port, UARTDATA);
+-              rx &= 0x3ff;
++
++              if ((sr & UARTSTAT_FE) && (rx & UARTDATA_FRETSC) &&
++                      !(rx & UARTDATA_MASK)) {
++                      if (uart_handle_break(&sport->port))
++                              continue;
++              }
+               if (uart_handle_sysrq_char(&sport->port, (unsigned char)rx))
+                       continue;