From 3f6960b7f5220b797fd181f8b7f7de356bfdd43f Mon Sep 17 00:00:00 2001 From: Shell Date: Tue, 9 Jul 2024 13:28:24 +0800 Subject: [PATCH] [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 --- components/drivers/serial/serial_tty.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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); }