diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c index a17a87de31..878da27f2e 100644 --- a/xen/drivers/char/ns16550.c +++ b/xen/drivers/char/ns16550.c @@ -346,9 +346,16 @@ static void ns16550_setup_preirq(struct ns16550 *uart) if ( divisor ) uart->baud = uart->clock_hz / (divisor << 4); else + { + uart->baud = 115200; printk(XENLOG_ERR "Automatic baud rate determination was requested," - " but a baud rate was not set up\n"); + " but a baud rate was not set up\n" + "Setting baudrate to %u\n", uart->baud); + divisor = uart->clock_hz / (uart->baud << 4); + ns_write_reg(uart, UART_DLL, (uint8_t)divisor); + ns_write_reg(uart, UART_DLM, (uint8_t)(divisor >> 8)); + } } ns_write_reg(uart, UART_LCR, lcr);