Browse Source

[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 <smokewood@qq.com>
Shell 1 year ago
parent
commit
3f6960b7f5
1 changed files with 10 additions and 0 deletions
  1. 10 0
      components/drivers/serial/serial_tty.c

+ 10 - 0
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);
 }