Hi Sebastian,

On 12/18/2015 02:46 AM, Sebastian Frias wrote:
> ---
> 
> Some UART HW has a single register combining UART_DLL/UART_DLM
> (this was probably forgotten in the change that introduced the
> callbacks, commit b32b19b8ffc05cbd3bf91c65e205f6a912ca15d9)

Thanks for the fix.

Because of the heavy patchload here, it helps if the patches are
don't need hand-editing by maintainers.

Please drop the '---' separator and newline from the beginning
of the commit log.

Regards,
Peter Hurley

> Fixes: b32b19b8ffc0

Fixes: b32b19b8ffc0 ("[SERIAL] 8250: set divisor register correctly ...")

> 
> Signed-off-by: Sebastian Frias <s...@laposte.net>
> ---
>  drivers/tty/serial/8250/8250_port.c |   17 ++++++-----------
>  1 file changed, 6 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/tty/serial/8250/8250_port.c 
> b/drivers/tty/serial/8250/8250_port.c
> index 52d82d2..827eb6f 100644
> --- a/drivers/tty/serial/8250/8250_port.c
> +++ b/drivers/tty/serial/8250/8250_port.c
> @@ -713,22 +713,17 @@ static int size_fifo(struct uart_8250_port *up)
>   */
>  static unsigned int autoconfig_read_divisor_id(struct uart_8250_port *p)
>  {
> -    unsigned char old_dll, old_dlm, old_lcr;
> +    unsigned char old_lcr;
>      unsigned int id;
> +    unsigned int old_dl;

        unsigned int id, old_dl;

> 
>      old_lcr = serial_in(p, UART_LCR);
>      serial_out(p, UART_LCR, UART_LCR_CONF_MODE_A);
> +    old_dl = serial_dl_read(p);
> +    serial_dl_write(p, 0);
> +    id = serial_dl_read(p);
> +    serial_dl_write(p, old_dl);
> 
> -    old_dll = serial_in(p, UART_DLL);
> -    old_dlm = serial_in(p, UART_DLM);
> -
> -    serial_out(p, UART_DLL, 0);
> -    serial_out(p, UART_DLM, 0);
> -
> -    id = serial_in(p, UART_DLL) | serial_in(p, UART_DLM) << 8;
> -
> -    serial_out(p, UART_DLL, old_dll);
> -    serial_out(p, UART_DLM, old_dlm);
>      serial_out(p, UART_LCR, old_lcr);
> 
>      return id;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
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