]> www.infradead.org Git - users/willy/pagecache.git/commitdiff
Revert "serial: sh-sci: Clean sci_ports[0] after at earlycon exit"
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 30 Nov 2024 15:55:56 +0000 (16:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 30 Nov 2024 15:55:56 +0000 (16:55 +0100)
This reverts commit 3791ea69a4858b81e0277f695ca40f5aae40f312.

It was reported to cause boot-time issues, so revert it for now.

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Fixes: 3791ea69a485 ("serial: sh-sci: Clean sci_ports[0] after at earlycon exit")
Cc: stable <stable@kernel.org>
Cc: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sh-sci.c

index 136e0c257af134230ea17ff22cb055cddb713366..df523c74442308360c1b411b27fea32f74c48f77 100644 (file)
@@ -3535,32 +3535,6 @@ sh_early_platform_init_buffer("earlyprintk", &sci_driver,
 #ifdef CONFIG_SERIAL_SH_SCI_EARLYCON
 static struct plat_sci_port port_cfg __initdata;
 
-static int early_console_exit(struct console *co)
-{
-       struct sci_port *sci_port = &sci_ports[0];
-       struct uart_port *port = &sci_port->port;
-       unsigned long flags;
-       int locked = 1;
-
-       if (port->sysrq)
-               locked = 0;
-       else if (oops_in_progress)
-               locked = uart_port_trylock_irqsave(port, &flags);
-       else
-               uart_port_lock_irqsave(port, &flags);
-
-       /*
-        * Clean the slot used by earlycon. A new SCI device might
-        * map to this slot.
-        */
-       memset(sci_ports, 0, sizeof(*sci_port));
-
-       if (locked)
-               uart_port_unlock_irqrestore(port, flags);
-
-       return 0;
-}
-
 static int __init early_console_setup(struct earlycon_device *device,
                                      int type)
 {
@@ -3577,8 +3551,6 @@ static int __init early_console_setup(struct earlycon_device *device,
                       SCSCR_RE | SCSCR_TE | port_cfg.scscr);
 
        device->con->write = serial_console_write;
-       device->con->exit = early_console_exit;
-
        return 0;
 }
 static int __init sci_early_console_setup(struct earlycon_device *device,