From 51b1e8577c8edc2108060d5e5e81db41c81b1081 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 9 Jul 2013 12:52:00 +0000
Subject: [PATCH] kernel: do not accept sysrq characters via serial port

many boards have a disconnected TTL level serial which can generate
some garbage that can lead to spurious false sysrq detects.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37210
---
 target/linux/generic/config-3.10              |  1 +
 target/linux/generic/config-3.8               |  1 +
 target/linux/generic/config-3.9               |  1 +
 .../890-8250_optional_sysrq.patch             | 24 +++++++++++++++++++
 .../patches-3.8/890-8250_optional_sysrq.patch | 24 +++++++++++++++++++
 .../patches-3.9/890-8250_optional_sysrq.patch | 24 +++++++++++++++++++
 6 files changed, 75 insertions(+)
 create mode 100644 target/linux/generic/patches-3.10/890-8250_optional_sysrq.patch
 create mode 100644 target/linux/generic/patches-3.8/890-8250_optional_sysrq.patch
 create mode 100644 target/linux/generic/patches-3.9/890-8250_optional_sysrq.patch

diff --git a/target/linux/generic/config-3.10 b/target/linux/generic/config-3.10
index ed53b57b1d..4ad44f35cf 100644
--- a/target/linux/generic/config-3.10
+++ b/target/linux/generic/config-3.10
@@ -2886,6 +2886,7 @@ CONFIG_SERIAL_8250_NR_UARTS=2
 # CONFIG_SERIAL_8250_PCI is not set
 # CONFIG_SERIAL_8250_RSA is not set
 CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_SYSRQ is not set
 # CONFIG_SERIAL_ALTERA_JTAGUART is not set
 # CONFIG_SERIAL_ALTERA_UART is not set
 # CONFIG_SERIAL_ARC is not set
diff --git a/target/linux/generic/config-3.8 b/target/linux/generic/config-3.8
index 379aa65035..4164192dd8 100644
--- a/target/linux/generic/config-3.8
+++ b/target/linux/generic/config-3.8
@@ -2817,6 +2817,7 @@ CONFIG_SERIAL_8250_NR_UARTS=2
 # CONFIG_SERIAL_8250_PCI is not set
 # CONFIG_SERIAL_8250_RSA is not set
 CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_SYSRQ is not set
 # CONFIG_SERIAL_ALTERA_JTAGUART is not set
 # CONFIG_SERIAL_ALTERA_UART is not set
 # CONFIG_SERIAL_ARC is not set
diff --git a/target/linux/generic/config-3.9 b/target/linux/generic/config-3.9
index ab0e9866ae..515c3e969b 100644
--- a/target/linux/generic/config-3.9
+++ b/target/linux/generic/config-3.9
@@ -2859,6 +2859,7 @@ CONFIG_SERIAL_8250_NR_UARTS=2
 # CONFIG_SERIAL_8250_PCI is not set
 # CONFIG_SERIAL_8250_RSA is not set
 CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_SYSRQ is not set
 # CONFIG_SERIAL_ALTERA_JTAGUART is not set
 # CONFIG_SERIAL_ALTERA_UART is not set
 # CONFIG_SERIAL_ARC is not set
diff --git a/target/linux/generic/patches-3.10/890-8250_optional_sysrq.patch b/target/linux/generic/patches-3.10/890-8250_optional_sysrq.patch
new file mode 100644
index 0000000000..fcfffbb668
--- /dev/null
+++ b/target/linux/generic/patches-3.10/890-8250_optional_sysrq.patch
@@ -0,0 +1,24 @@
+--- a/drivers/tty/serial/8250/8250_core.c
++++ b/drivers/tty/serial/8250/8250_core.c
+@@ -16,7 +16,7 @@
+  *  membase is an 'ioremapped' cookie.
+  */
+ 
+-#if defined(CONFIG_SERIAL_8250_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
++#if defined(CONFIG_SERIAL_8250_SYSRQ) && defined(CONFIG_MAGIC_SYSRQ)
+ #define SUPPORT_SYSRQ
+ #endif
+ 
+--- a/drivers/tty/serial/8250/Kconfig
++++ b/drivers/tty/serial/8250/Kconfig
+@@ -91,6 +91,10 @@ config SERIAL_8250_CONSOLE
+ 
+ 	  If unsure, say N.
+ 
++config SERIAL_8250_SYSRQ
++	bool "Magic sysrq support on 8250/16550 devices"
++	depends on SERIAL_8250_CONSOLE
++
+ config FIX_EARLYCON_MEM
+ 	bool
+ 	depends on X86
diff --git a/target/linux/generic/patches-3.8/890-8250_optional_sysrq.patch b/target/linux/generic/patches-3.8/890-8250_optional_sysrq.patch
new file mode 100644
index 0000000000..1748a048b2
--- /dev/null
+++ b/target/linux/generic/patches-3.8/890-8250_optional_sysrq.patch
@@ -0,0 +1,24 @@
+--- a/drivers/tty/serial/8250/Kconfig
++++ b/drivers/tty/serial/8250/Kconfig
+@@ -74,6 +74,10 @@ config SERIAL_8250_CONSOLE
+ 
+ 	  If unsure, say N.
+ 
++config SERIAL_8250_SYSRQ
++	bool "Magic sysrq support on 8250/16550 devices"
++	depends on SERIAL_8250_CONSOLE
++
+ config FIX_EARLYCON_MEM
+ 	bool
+ 	depends on X86
+--- a/drivers/tty/serial/8250/8250.c
++++ b/drivers/tty/serial/8250/8250.c
+@@ -16,7 +16,7 @@
+  *  membase is an 'ioremapped' cookie.
+  */
+ 
+-#if defined(CONFIG_SERIAL_8250_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
++#if defined(CONFIG_SERIAL_8250_SYSRQ) && defined(CONFIG_MAGIC_SYSRQ)
+ #define SUPPORT_SYSRQ
+ #endif
+ 
diff --git a/target/linux/generic/patches-3.9/890-8250_optional_sysrq.patch b/target/linux/generic/patches-3.9/890-8250_optional_sysrq.patch
new file mode 100644
index 0000000000..fcfffbb668
--- /dev/null
+++ b/target/linux/generic/patches-3.9/890-8250_optional_sysrq.patch
@@ -0,0 +1,24 @@
+--- a/drivers/tty/serial/8250/8250_core.c
++++ b/drivers/tty/serial/8250/8250_core.c
+@@ -16,7 +16,7 @@
+  *  membase is an 'ioremapped' cookie.
+  */
+ 
+-#if defined(CONFIG_SERIAL_8250_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
++#if defined(CONFIG_SERIAL_8250_SYSRQ) && defined(CONFIG_MAGIC_SYSRQ)
+ #define SUPPORT_SYSRQ
+ #endif
+ 
+--- a/drivers/tty/serial/8250/Kconfig
++++ b/drivers/tty/serial/8250/Kconfig
+@@ -91,6 +91,10 @@ config SERIAL_8250_CONSOLE
+ 
+ 	  If unsure, say N.
+ 
++config SERIAL_8250_SYSRQ
++	bool "Magic sysrq support on 8250/16550 devices"
++	depends on SERIAL_8250_CONSOLE
++
+ config FIX_EARLYCON_MEM
+ 	bool
+ 	depends on X86
-- 
GitLab