diff options
| author | Shell <[email protected]> | 2024-07-09 13:28:24 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-07-09 13:28:24 +0800 |
| commit | 3f6960b7f5220b797fd181f8b7f7de356bfdd43f (patch) | |
| tree | 313b9f16e0ff7d862f145ab369efba2b728fa9b1 | |
| parent | 4d0b048c97494887e08f6403503c9900f00fe6cd (diff) | |
[smart/tty] skip configure of rt_serial on tty open (#9152)
Skip configure on open since all configs are copied from the current
configuration on device. So we don't bother to set it back to device
again.
Changes:
- test and skip configuration on open() of tty device
Signed-off-by: Shell <[email protected]>
| -rw-r--r-- | components/drivers/serial/serial_tty.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/components/drivers/serial/serial_tty.c b/components/drivers/serial/serial_tty.c index f75123eba2..bbf61f8ae0 100644 --- a/components/drivers/serial/serial_tty.c +++ b/components/drivers/serial/serial_tty.c @@ -298,6 +298,16 @@ static int serial_tty_param(struct lwp_tty *tp, struct termios *t) RT_ASSERT(softc); serial = softc->parent; + if (!tty_opened(tp)) + { + /** + * skip configure on open since all configs are copied from the current + * configuration on device. So we don't bother to set it back to device + * again. + */ + return RT_EOK; + } + cfsetispeed(t, t->__c_ispeed); return rt_device_control(&(serial->parent), TCSETS, t); } |
