|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] pl011: early_panic if baud rate not set in hardware
commit 2050ad703c65ed997f1328af702054d1960fb168
Author: Ian Campbell <ian.campbell@xxxxxxxxxx>
AuthorDate: Thu Aug 22 17:01:59 2013 +0100
Commit: Ian Campbell <ian.campbell@xxxxxxxxxx>
CommitDate: Tue Aug 27 14:35:44 2013 +0100
pl011: early_panic if baud rate not set in hardware
Now that the driver defaults to BAUD_AUTO this can happen if the early uart
!=
console or if early printk isn't in use.
The following division by zero causes a trap but that uses regular printk
and
not early_printk, so it is never seen.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Acked-by: Julien Grall <julien.grall@xxxxxxxxxx>
---
xen/drivers/char/pl011.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index e4bd702..3ea0d41 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -104,6 +104,8 @@ static void __init pl011_init_preirq(struct serial_port
*port)
{
/* Baud rate already set: read it out from the divisor latch. */
divisor = (pl011_read(uart, IBRD) << 6) | (pl011_read(uart, FBRD));
+ if (!divisor)
+ early_panic("pl011: No Baud rate configured\n");
uart->baud = (uart->clock_hz << 2) / divisor;
}
/* This write must follow FBRD and IBRD writes. */
--
generated by git-patchbot for /home/xen/git/xen.git#master
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |