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/

Reply via email to