Re: [PATCH] serial: mvebu: Apply old baudrate to termios

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 28 June 2022 12:41:55 Ilpo Järvinen wrote:
> A fallback baud rate was derived from old termios but got never applied
> to (new/current) termios. Old termios is dropped once ->set_termios()
> call chain completes, only termios persists the values. Encode also the
> old baud rate into termios.
> 
> Fixes: 68a0db1d7da2 ("serial: mvebu-uart: add function to change baudrate")
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>

Hello! Could you explain a bit more what is this patch fixing? I have
not caught it yet. Do you have a test scenario which can demonstrate
this issue? Because I have tested this driver more deeply (on Mox
and Espressobin) and I have not seen any remaining issue with reporting
incorrect baudrate.

> ---
>  drivers/tty/serial/mvebu-uart.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/tty/serial/mvebu-uart.c b/drivers/tty/serial/mvebu-uart.c
> index 0429c2a54290..12a79018697f 100644
> --- a/drivers/tty/serial/mvebu-uart.c
> +++ b/drivers/tty/serial/mvebu-uart.c
> @@ -592,10 +592,9 @@ static void mvebu_uart_set_termios(struct uart_port *port,
>  		if (old)
>  			baud = uart_get_baud_rate(port, old, NULL,
>  						  min_baud, max_baud);
> -	} else {
> -		tty_termios_encode_baud_rate(termios, baud, baud);
> -		uart_update_timeout(port, termios->c_cflag, baud);
>  	}
> +	tty_termios_encode_baud_rate(termios, baud, baud);
> +	uart_update_timeout(port, termios->c_cflag, baud);
>  
>  	/* Only the following flag changes are supported */
>  	if (old) {
> 
> -- 
> tg: (f287f971e256..) fix/mvebu-apply-old-baud (depends on: tty-next)



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux