aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2007-01-22 18:59:42 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-01-24 11:59:57 +0000
commitd28122a5877cc40350fa801353fd5a9350563ec3 (patch)
treee06ed644c3fe537f35dfd87e8acebffe7f1b8e4f /drivers/serial
parent7f215abc69302dc027f024fe656e4841063e8fe8 (diff)
downloadkernel_samsung_smdk4412-d28122a5877cc40350fa801353fd5a9350563ec3.zip
kernel_samsung_smdk4412-d28122a5877cc40350fa801353fd5a9350563ec3.tar.gz
kernel_samsung_smdk4412-d28122a5877cc40350fa801353fd5a9350563ec3.tar.bz2
[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>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/amba-pl010.c2
-rw-r--r--drivers/serial/amba-pl011.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/serial/amba-pl010.c b/drivers/serial/amba-pl010.c
index 61db697..f69bd09 100644
--- a/drivers/serial/amba-pl010.c
+++ b/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)
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c
index 9a3b374..44639e7 100644
--- a/drivers/serial/amba-pl011.c
+++ b/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);