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/

Reply via email to