Re: [PATCH] printk/of_serial: fix serial console cessation part way through boot.

From: Geert Uytterhoeven
Date: Mon May 12 2014 - 05:33:25 EST


Hi Stephen,

On Sat, May 10, 2014 at 7:37 AM, Stephen Chivers <schivers@xxxxxxx> wrote:
> Commit 5f5c9ae56c38942623f69c3e6dc6ec78e4da2076
> "serial_core: Unregister console in uart_remove_one_port()"
> fixed a crash where a serial port was removed but
> not deregistered as a console.
>
> There is a side effect of that commit for platforms having serial consoles
> and of_serial configured (CONFIG_SERIAL_OF_PLATFORM). The serial console
> is disabled midway through the boot process.
>
> This cessation of the serial console affects PowerPC computers
> such as the MVME5100 and SAM440EP.
>
> The sequence is:
>
> bootconsole [udbg0] enabled
> ....
> serial8250/16550 driver initialises and registers its UARTS,
> one of these is the serial console.
> console [ttyS0] enabled
> ....
> of_serial probes "platform" devices, registering them as it goes.
> One of these is the serial console.
> console [ttyS0] disabled.
>
> The disabling of the serial console is due to:
>
> a. unregister_console in printk not clearing the
> CONS_ENABLED bit in the console flags,
> even though it has announced that the console is disabled; and

This part re-attaches the serial console on unbind/bind with the sh-sci driver,
too, which didn't work before. Cool, thanks!

> b. of_platform_serial_probe in of_serial not setting the port type
> before it registers with serial8250_register_8250_port.

This part I couldn't test.

> This patch ensures that the serial console is re-enabled when of_serial
> registers a serial port that corresponds to the designated console.
>
> Signed-off-by: Stephen Chivers <schivers@xxxxxxx>
> Tested-by: Stephen Chivers <schivers@xxxxxxx>

Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> [unregister_console]

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/