summaryrefslogtreecommitdiff
path: root/components/drivers/serial
diff options
context:
space:
mode:
authorzms123456 <[email protected]>2024-05-16 15:36:16 +0800
committerGitHub <[email protected]>2024-05-16 15:36:16 +0800
commited002bb84afdbacc3a108e25823f72b710188512 (patch)
treeb68e5dba9050467c7de2efb765d913a3cd58caff /components/drivers/serial
parentec8ff90a4a2acafffd1e91fa38aaaeb450b5de28 (diff)
[drivers][serial]fix error in getting serial_tty settings (#8953)
fix error in getting serial_tty settings
Diffstat (limited to 'components/drivers/serial')
-rw-r--r--components/drivers/serial/serial_tty.c4
1 files changed, 3 insertions, 1 deletions
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);
}