On Mon, Mar 07, 2005 at 08:56:54PM +0100, Petr Vandrovec wrote: > Well, problem is not in bit 6 in IER, but in bit 6 in high divisor byte, > as DLAB is set to one from previous probe. This simple clear of LCR > register fixes problem with (probably all 16550A) chips being detected > as XScale, and in addition to it it does not switch my 115200Bd serial > line to 7Bd mode (0x4001 divisor) anymore.
Good catch, thanks. I'd preferably like to see Chris Wedgwood test this before applying it - I'm sure it'll fix his problem as well, but I'd like to be sure. --- linux-2.6.11-c1994.dist/drivers/serial/8250.c 2005-03-07 17:22:21.000000000 +0100 +++ linux-2.6.11-c1994/drivers/serial/8250.c 2005-03-07 20:42:53.000000000 +0100 @@ -729,6 +729,7 @@ serial_outp(up, UART_FCR, UART_FCR_ENABLE_FIFO | UART_FCR7_64BYTE); status2 = serial_in(up, UART_IIR) >> 5; serial_outp(up, UART_FCR, UART_FCR_ENABLE_FIFO); + serial_outp(up, UART_LCR, 0); DEBUG_AUTOCONF("iir1=%d iir2=%d ", status1, status2); -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 Serial core - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/