Skip to content

Commit 32f6d46

Browse files
committed
fix serial
1 parent 78bdf67 commit 32f6d46

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

components/drivers/serial/serial.c

+1
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@ static rt_err_t rt_serial_control(struct rt_device *dev,
11741174
if (tio == RT_NULL) return -RT_EINVAL;
11751175

11761176
config = serial->config;
1177+
11771178
baudrate = _get_baudrate(cfgetospeed(tio));
11781179
config.baud_rate = baudrate;
11791180

components/drivers/serial/serial_tty.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -179,11 +179,13 @@ static void _serial_tty_set_speed(struct lwp_tty *tp)
179179
{
180180
struct serial_tty_context *softc = (struct serial_tty_context *)(tp->t_devswsoftc);
181181
struct rt_serial_device *serial;
182+
struct termios serial_hw_config;
182183

183184
RT_ASSERT(softc);
184185
serial = softc->parent;
185186

186-
rt_device_control(&(serial->parent), TCGETS, &tp->t_termios_init_in);
187+
rt_device_control(&(serial->parent), TCGETS, &serial_hw_config);
188+
tp->t_termios_init_in.c_cflag | = serial_hw_config.c_cflag;
187189

188190
tp->t_termios_init_in.__c_ispeed = tp->t_termios_init_in.__c_ospeed = cfgetospeed(&tp->t_termios_init_in);
189191
}

0 commit comments

Comments
 (0)