From ed002bb84afdbacc3a108e25823f72b710188512 Mon Sep 17 00:00:00 2001 From: zms123456 <85141075+zmshahaha@users.noreply.github.com> Date: Thu, 16 May 2024 15:36:16 +0800 Subject: [PATCH] [drivers][serial]fix error in getting serial_tty settings (#8953) fix error in getting serial_tty settings --- components/drivers/serial/serial_tty.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/drivers/serial/serial_tty.c b/components/drivers/serial/serial_tty.c index 98e7ee652d..36692a9300 100644 --- a/components/drivers/serial/serial_tty.c +++ b/components/drivers/serial/serial_tty.c @@ -179,11 +179,13 @@ static void _serial_tty_set_speed(struct lwp_tty *tp) { struct serial_tty_context *softc = (struct serial_tty_context *)(tp->t_devswsoftc); struct rt_serial_device *serial; + struct termios serial_hw_config; RT_ASSERT(softc); serial = softc->parent; - rt_device_control(&(serial->parent), TCGETS, &tp->t_termios_init_in); + rt_device_control(&(serial->parent), TCGETS, &serial_hw_config); + tp->t_termios_init_in.c_cflag |= serial_hw_config.c_cflag; tp->t_termios_init_in.__c_ispeed = tp->t_termios_init_in.__c_ospeed = cfgetospeed(&tp->t_termios_init_in); }