diff mbox series

[3/8] serial: dz: Assume previous baudrate is valid

Message ID 20220816115739.10928-4-ilpo.jarvinen@linux.intel.com
State New
Headers show
Series tty/serial: Convert ->set_termios() related callchains to const old ktermios | expand

Commit Message

Ilpo Järvinen Aug. 16, 2022, 11:57 a.m. UTC
Assume previously used termios has a valid baudrate and use
it directly.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/tty/serial/dz.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Maciej W. Rozycki Aug. 20, 2022, 9:24 p.m. UTC | #1
On Tue, 16 Aug 2022, Ilpo Järvinen wrote:

> Assume previously used termios has a valid baudrate and use
> it directly.

Acked-by: Maciej W. Rozycki <macro@orcam.me.uk>

 LGTM, thanks!  Indeed current code seems unnecessarily complex.

  Maciej
diff mbox series

Patch

diff --git a/drivers/tty/serial/dz.c b/drivers/tty/serial/dz.c
index 2e21acf39720..3eaf4e85bfdd 100644
--- a/drivers/tty/serial/dz.c
+++ b/drivers/tty/serial/dz.c
@@ -592,9 +592,12 @@  static void dz_set_termios(struct uart_port *uport, struct ktermios *termios,
 
 	baud = uart_get_baud_rate(uport, termios, old_termios, 50, 9600);
 	bflag = dz_encode_baud_rate(baud);
-	if (bflag < 0)	{			/* Try to keep unchanged.  */
-		baud = uart_get_baud_rate(uport, old_termios, NULL, 50, 9600);
-		bflag = dz_encode_baud_rate(baud);
+	if (bflag < 0)	{
+		if (old_termios) {
+			/* Keep unchanged. */
+			baud = tty_termios_baud_rate(old_termios);
+			bflag = dz_encode_baud_rate(baud);
+		}
 		if (bflag < 0)	{		/* Resort to 9600.  */
 			baud = 9600;
 			bflag = DZ_B9600;