--- /dev/null
+From 3cffa06aeef7ece30f6b5ac0ea51f264e8fea4d0 Mon Sep 17 00:00:00 2001
+From: Petr Mladek <pmladek@suse.com>
+Date: Wed, 11 Nov 2020 14:54:50 +0100
+Subject: printk/console: Allow to disable console output by using console="" or console=null
+
+From: Petr Mladek <pmladek@suse.com>
+
+commit 3cffa06aeef7ece30f6b5ac0ea51f264e8fea4d0 upstream.
+
+The commit 48021f98130880dd74 ("printk: handle blank console arguments
+passed in.") prevented crash caused by empty console= parameter value.
+
+Unfortunately, this value is widely used on Chromebooks to disable
+the console output. The above commit caused performance regression
+because the messages were pushed on slow console even though nobody
+was watching it.
+
+Use ttynull driver explicitly for console="" and console=null
+parameters. It has been created for exactly this purpose.
+
+It causes that preferred_console is set. As a result, ttySX and ttyX
+are not used as a fallback. And only ttynull console gets registered by
+default.
+
+It still allows to register other consoles either by additional console=
+parameters or SPCR. It prevents regression because it worked this way even
+before. Also it is a sane semantic. Preventing output on all consoles
+should be done another way, for example, by introducing mute_console
+parameter.
+
+Link: https://lore.kernel.org/r/20201006025935.GA597@jagdpanzerIV.localdomain
+Suggested-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
+Reviewed-by: Guenter Roeck <linux@roeck-us.net>
+Tested-by: Guenter Roeck <linux@roeck-us.net>
+Acked-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
+Signed-off-by: Petr Mladek <pmladek@suse.com>
+Link: https://lore.kernel.org/r/20201111135450.11214-3-pmladek@suse.com
+Cc: Yi Fan <yfa@google.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ kernel/printk/printk.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+--- a/kernel/printk/printk.c
++++ b/kernel/printk/printk.c
+@@ -2213,8 +2213,15 @@ static int __init console_setup(char *st
+ char *s, *options, *brl_options = NULL;
+ int idx;
+
+- if (str[0] == 0)
++ /*
++ * console="" or console=null have been suggested as a way to
++ * disable console output. Use ttynull that has been created
++ * for exacly this purpose.
++ */
++ if (str[0] == 0 || strcmp(str, "null") == 0) {
++ __add_preferred_console("ttynull", 0, NULL, NULL, true);
+ return 1;
++ }
+
+ if (_braille_console_setup(&str, &brl_options))
+ return 1;