Message ID | 20220517110737.37148-3-ilpo.jarvinen@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | None | expand |
Hi Ilpo, On Tue, May 17 2022, Ilpo Järvinen wrote: > Only CS7 and CS8 seem supported but CSIZE is not sanitized to CS8 in > the default: block. > > Set CSIZE correctly so that userspace knows the effective value. > Incorrect CSIZE also results in miscalculation of the frame bits in > tty_get_char_size() or in its predecessor where the roughly the same > code is directly within uart_update_timeout(). > > Cc: Baruch Siach <baruch@tkos.co.il> > Fixes: 5930cb3511df (serial: driver for Conexant Digicolor USART) > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Acked-by: Baruch Siach <baruch@tkos.co.il> Thanks, baruch > --- > drivers/tty/serial/digicolor-usart.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/tty/serial/digicolor-usart.c b/drivers/tty/serial/digicolor-usart.c > index 6d70fea76bb3..65e653eb5026 100644 > --- a/drivers/tty/serial/digicolor-usart.c > +++ b/drivers/tty/serial/digicolor-usart.c > @@ -309,6 +309,8 @@ static void digicolor_uart_set_termios(struct uart_port *port, > case CS8: > default: > config |= UA_CONFIG_CHAR_LEN; > + termios->c_cflag &= ~CSIZE; > + termios->c_cflag |= CS8; > break; > }
diff --git a/drivers/tty/serial/digicolor-usart.c b/drivers/tty/serial/digicolor-usart.c index 6d70fea76bb3..65e653eb5026 100644 --- a/drivers/tty/serial/digicolor-usart.c +++ b/drivers/tty/serial/digicolor-usart.c @@ -309,6 +309,8 @@ static void digicolor_uart_set_termios(struct uart_port *port, case CS8: default: config |= UA_CONFIG_CHAR_LEN; + termios->c_cflag &= ~CSIZE; + termios->c_cflag |= CS8; break; }
Only CS7 and CS8 seem supported but CSIZE is not sanitized to CS8 in the default: block. Set CSIZE correctly so that userspace knows the effective value. Incorrect CSIZE also results in miscalculation of the frame bits in tty_get_char_size() or in its predecessor where the roughly the same code is directly within uart_update_timeout(). Cc: Baruch Siach <baruch@tkos.co.il> Fixes: 5930cb3511df (serial: driver for Conexant Digicolor USART) Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> --- drivers/tty/serial/digicolor-usart.c | 2 ++ 1 file changed, 2 insertions(+)