On Tue, 26 Dec 2006 19:43:17 +0300 Vitaly Wool <[EMAIL PROTECTED]> wrote:
^^^^^^^^^^^ Sorry.
> Hello Andrew,
>
> probing for UART_BUG_TXEN in 8250 driver leads to weird effects on some ARM
> boards (pnx4008 for instance). That is, the driver detects UART_BUG_TXEN
> (though it apparently shouldn't) and it leads to symbol loss in console on
> input (i. e. you input 'a' and you get nothing, then you input 'b' and you
> get 'a', then you input 'c' and get 'b' and so on).
>
> The patch below makes this very probing a configuration option turned on by
> default.
>
> drivers/serial/8250.c | 5 ++++-
> drivers/serial/Kconfig | 10 ++++++++++
> 2 files changed, 14 insertions(+), 1 deletion(-)
>
> Signed-off-by: Vitaly Wool <[EMAIL PROTECTED]>
>
> diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
> index 51f3c73..cf3eb31 100644
> --- a/drivers/serial/8250.c
> +++ b/drivers/serial/8250.c
> @@ -1645,6 +1645,7 @@ static int serial8250_startup(struct uar
>
> serial8250_set_mctrl(&up->port, up->port.mctrl);
>
> +#ifndef CONFIG_SERIAL_8250_DONT_TEST_BUG_TXEN
> /*
> * Do a quick test to see if we receive an
> * interrupt when we enable the TX irq.
> @@ -1660,7 +1661,9 @@ static int serial8250_startup(struct uar
> pr_debug("ttyS%d - enabling bad tx status
> workarounds\n",
> port->line);
> }
> - } else {
> + } else
> +#endif
> + {
> up->bugs &= ~UART_BUG_TXEN;
> }
>
> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
> index 2978c09..7efcaf3 100644
> --- a/drivers/serial/Kconfig
> +++ b/drivers/serial/Kconfig
> @@ -223,6 +223,16 @@ config SERIAL_8250_DETECT_IRQ
>
> If unsure, say N.
>
> +config SERIAL_8250_DONT_TEST_BUG_TXEN
> + bool "Don't probe for TXEN bug"
> + depends on SERIAL_8250_EXTENDED
> + help
> + Say Y here if you don't want the kernel to probe for TXEN bug
> + on your serial port and try to workaround it. It might lead to
> + character loss on some boards, though this is quite a rare case.
> +
> + If unsure, say N.
> +
> config SERIAL_8250_RSA
> bool "Support RSA serial ports"
> depends on SERIAL_8250_EXTENDED
I think this should be a module option/boot parameter, not a config-time
option.
-
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/