On 01/09/2018 01:37, Guenter Roeck wrote: > The patch results in an unexpected DLL register value. Here is the > surrounding code from drivers/tty/serial/pxa.c: > > serial_out(up, UART_DLL, quot & 0xff); /* LS of divisor */ > > /* > * work around Errata #75 according to Intel(R) PXA27x > * Processor Family Specification Update (Nov 2005) > */ > dll = serial_in(up, UART_DLL); > WARN_ON(dll != (quot & 0xff)); // <-- warning > > Reverting the patch fixes the problem.
I think it's a typo. Can you try this: diff --git a/hw/char/serial.c b/hw/char/serial.c index 251f40fdac..02463e3388 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -345,9 +345,9 @@ static void serial_ioport_write(void *opaque, hwaddr addr, uint64_t val, default: case 0: if (s->lcr & UART_LCR_DLAB) { - if (size == 2) { + if (size == 1) { s->divider = (s->divider & 0xff00) | val; - } else if (size == 4) { + } else { s->divider = val; } serial_update_parameters(s); Thanks, Paolo