Thread (2 messages) 2 messages, 2 authors, 2014-05-12

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

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2014-05-12 09:33:21
Also in: linux-devicetree, linux-serial, lkml

Hi Stephen,

On Sat, May 10, 2014 at 7:37 AM, Stephen Chivers [off-list ref] 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 <redacted>
Tested-by: Stephen Chivers <redacted>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> [unregister_console]

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help