Переглянути джерело

[ARM] Fix AMBA serial drivers for non-first serial ports

Using console=ttyAM1 or console=ttyAMA1 resulted in an oops during
boot due to trying to drive the console before that port had been
registered.  Fix this by checking whether the port is present before
allowing console setup to proceed.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King 19 роки тому
батько
коміт
d28122a587
2 змінених файлів з 4 додано та 0 видалено
  1. 2 0
      drivers/serial/amba-pl010.c
  2. 2 0
      drivers/serial/amba-pl011.c

+ 2 - 0
drivers/serial/amba-pl010.c

@@ -589,6 +589,8 @@ static int __init pl010_console_setup(struct console *co, char *options)
 	 */
 	if (co->index >= UART_NR)
 		co->index = 0;
+	if (!amba_ports[co->index])
+		return -ENODEV;
 	port = &amba_ports[co->index]->port;
 
 	if (options)

+ 2 - 0
drivers/serial/amba-pl011.c

@@ -661,6 +661,8 @@ static int __init pl011_console_setup(struct console *co, char *options)
 	if (co->index >= UART_NR)
 		co->index = 0;
 	uap = amba_ports[co->index];
+	if (!uap)
+		return -ENODEV;
 
 	uap->port.uartclk = clk_get_rate(uap->clk);