Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0de3d234 authored by Ilpo Järvinen's avatar Ilpo Järvinen Committed by Greg Kroah-Hartman
Browse files

serial: digicolor-usart: Don't allow CS5-6



[ Upstream commit fd63031b8c0763addcecdefe0e0c59d49646204e ]

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().

Fixes: 5930cb35 (serial: driver for Conexant Digicolor USART)
Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20220519081808.3776-3-ilpo.jarvinen@linux.intel.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 035bc3b7
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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;
	}