serial: sh-sci: prevent setup of uninitialized serial console
Commit 906b17dc08
introduced a condition
where the kernel will crash unless a earlyprintk parameter is specified.
Without this parameter, sci_console_init is called during early console
setup without any port being initialized, and the kernel crashes a
little bit later when uart_set_options attemps to invoke set_termios on a
port with an ops member equal to NULL.
This patch just checks in sci_console_init that the port is properly
initialized, and aborts the early console setup if it is not.
Signed-off-by: Alexandre Courbot <gnurou@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Родитель
ff7690b48a
Коммит
b2267a6b09
|
@ -1836,6 +1836,12 @@ static int __devinit serial_console_setup(struct console *co, char *options)
|
|||
sci_port = &sci_ports[co->index];
|
||||
port = &sci_port->port;
|
||||
|
||||
/*
|
||||
* Refuse to handle uninitialized ports.
|
||||
*/
|
||||
if (!port->ops)
|
||||
return -ENODEV;
|
||||
|
||||
ret = sci_remap_port(port);
|
||||
if (unlikely(ret != 0))
|
||||
return ret;
|
||||
|
|
Загрузка…
Ссылка в новой задаче