From e9c517772cee8af63b4ef173a28152645a4e1b05 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 28 Aug 2016 14:43:12 +0200 Subject: [PATCH] kernel: make serial port sysrq-disable patch more generic (FS#112) Signed-off-by: Felix Fietkau --- target/linux/generic/config-4.4 | 2 +- .../patches-4.4/890-8250_optional_sysrq.patch | 24 ------------------ .../patches-4.4/890-uart_optional_sysrq.patch | 25 +++++++++++++++++++ 3 files changed, 26 insertions(+), 25 deletions(-) delete mode 100644 target/linux/generic/patches-4.4/890-8250_optional_sysrq.patch create mode 100644 target/linux/generic/patches-4.4/890-uart_optional_sysrq.patch diff --git a/target/linux/generic/config-4.4 b/target/linux/generic/config-4.4 index cb2fbcedd8..ba4b8c15f7 100644 --- a/target/linux/generic/config-4.4 +++ b/target/linux/generic/config-4.4 @@ -2003,6 +2003,7 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 # CONFIG_MAG3110 is not set # CONFIG_MAGIC_SYSRQ is not set CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +# CONFIG_MAGIC_SYSRQ_SERIAL is not set # CONFIG_MAILBOX is not set # CONFIG_MANGLE_BOOTARGS is not set # CONFIG_MARVELL_PHY is not set @@ -3561,7 +3562,6 @@ CONFIG_SERIAL_8250_NR_UARTS=2 # CONFIG_SERIAL_8250_RSA is not set # CONFIG_SERIAL_8250_RT288X 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-4.4/890-8250_optional_sysrq.patch b/target/linux/generic/patches-4.4/890-8250_optional_sysrq.patch deleted file mode 100644 index 525a7b9397..0000000000 --- a/target/linux/generic/patches-4.4/890-8250_optional_sysrq.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/drivers/tty/serial/8250/8250_port.c -+++ b/drivers/tty/serial/8250/8250_port.c -@@ -15,7 +15,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 SERIAL_8250_GSC - tristate - depends on SERIAL_8250 && GSC diff --git a/target/linux/generic/patches-4.4/890-uart_optional_sysrq.patch b/target/linux/generic/patches-4.4/890-uart_optional_sysrq.patch new file mode 100644 index 0000000000..0e37f9456c --- /dev/null +++ b/target/linux/generic/patches-4.4/890-uart_optional_sysrq.patch @@ -0,0 +1,25 @@ +--- a/lib/Kconfig.debug ++++ b/lib/Kconfig.debug +@@ -382,6 +382,11 @@ config MAGIC_SYSRQ_DEFAULT_ENABLE + This may be set to 1 or 0 to enable or disable them all, or + to a bitmask as described in Documentation/sysrq.txt. + ++config MAGIC_SYSRQ_SERIAL ++ bool "Enable magic SysRq key over serial" ++ depends on MAGIC_SYSRQ ++ default y ++ + config DEBUG_KERNEL + bool "Kernel debugging" + help +--- a/include/linux/serial_core.h ++++ b/include/linux/serial_core.h +@@ -426,7 +426,7 @@ extern void uart_handle_cts_change(struc + extern void uart_insert_char(struct uart_port *port, unsigned int status, + unsigned int overrun, unsigned int ch, unsigned int flag); + +-#ifdef SUPPORT_SYSRQ ++#if defined(SUPPORT_SYSRQ) && defined(CONFIG_MAGIC_SYSRQ_SERIAL) + static inline int + uart_handle_sysrq_char(struct uart_port *port, unsigned int ch) + {