Skip to content

Commit

Permalink
Revert "serial: sh-sci: Clean sci_ports[0] after at earlycon exit"
Browse files Browse the repository at this point in the history
This reverts commit 3791ea6.

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

Reported-by: Geert Uytterhoeven <[email protected]>
Fixes: 3791ea6 ("serial: sh-sci: Clean sci_ports[0] after at earlycon exit")
Cc: stable <[email protected]>
Cc: Claudiu Beznea <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
gregkh committed Nov 30, 2024
1 parent b5a23a6 commit 7186324
Showing 1 changed file with 0 additions and 28 deletions.
28 changes: 0 additions & 28 deletions drivers/tty/serial/sh-sci.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand All @@ -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,
Expand Down

0 comments on commit 7186324

Please sign in to comment.