[PATCH u-boot-marvell v3 31/39] tools: kwboot: Fix initializing tty device

Marek Behún kabel at kernel.org
Fri Sep 24 23:07:08 CEST 2021


From: Pali Rohár <pali at kernel.org>

Retrieve current terminal settings via tcgetattr(), set to raw mode with
cfmakeraw(), enable receiver via CREAD and ignore modem control lines
via CLOCAL.

Signed-off-by: Pali Rohár <pali at kernel.org>
Signed-off-by: Marek Behún <marek.behun at nic.cz>
---
 tools/kwboot.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/tools/kwboot.c b/tools/kwboot.c
index d8b950787b..fc83161d70 100644
--- a/tools/kwboot.c
+++ b/tools/kwboot.c
@@ -648,11 +648,12 @@ kwboot_open_tty(const char *path, int baudrate)
 	if (fd < 0)
 		goto out;
 
-	memset(&tio, 0, sizeof(tio));
-
-	tio.c_iflag = 0;
-	tio.c_cflag = CREAD|CLOCAL|CS8;
+	rc = tcgetattr(fd, &tio);
+	if (rc)
+		goto out;
 
+	cfmakeraw(&tio);
+	tio.c_cflag |= CREAD|CLOCAL;
 	tio.c_cc[VMIN] = 1;
 	tio.c_cc[VTIME] = 10;
 
-- 
2.32.0



More information about the U-Boot mailing list