diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2007-01-22 18:59:42 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-01-24 11:59:57 +0000 |
commit | d28122a5877cc40350fa801353fd5a9350563ec3 (patch) | |
tree | e06ed644c3fe537f35dfd87e8acebffe7f1b8e4f /drivers/serial | |
parent | 7f215abc69302dc027f024fe656e4841063e8fe8 (diff) | |
download | op-kernel-dev-d28122a5877cc40350fa801353fd5a9350563ec3.zip op-kernel-dev-d28122a5877cc40350fa801353fd5a9350563ec3.tar.gz |
[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.c | 2 | ||||
-rw-r--r-- | drivers/serial/amba-pl011.c | 2 |
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); |