blob: 1b8c95b10ce2db4513eaa6d652ff1c18c4a6ba1c [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001From a6e5813d2f8402bf3a311c8bcda02623bfb76882 Mon Sep 17 00:00:00 2001
2From: Carlos Hernandez <ceh@ti.com>
3Date: Tue, 24 Feb 2015 16:00:34 -0500
4Subject: [PATCH 2/2] Restore original loopback config
5
6If loopback option is enabled, disable it at the end of the test.
7
8Signed-off-by: Carlos Hernandez <ceh@ti.com>
9Upstream-status: Pending
10---
11 serialcheck.c | 9 +++++++--
12 1 file changed, 7 insertions(+), 2 deletions(-)
13
14diff --git a/serialcheck.c b/serialcheck.c
15index 4100c37..06470f7 100644
16--- a/serialcheck.c
17+++ b/serialcheck.c
18@@ -427,6 +427,7 @@ int main(int argc, char *argv[])
19 unsigned char *data;
20 unsigned int open_mode;
21 off_t data_len;
22+ unsigned int mcr;
23
24 argp_parse(&argp, argc, argv, 0, NULL, &opts);
25 if (!opts.file_trans)
26@@ -496,8 +497,6 @@ int main(int argc, char *argv[])
27 }
28
29 if (opts.loopback) {
30- unsigned int mcr;
31-
32 ret = ioctl(fd, TIOCMGET, &mcr);
33 if (ret < 0)
34 die("mcr get failed: %m\n");
35@@ -535,6 +534,12 @@ int main(int argc, char *argv[])
36 ret = tcsetattr(fd, TCSAFLUSH, &old_term);
37 if (ret)
38 printf("tcsetattr() of old ones failed: %m\n");
39+ if (opts.loopback) {
40+ mcr &= ~(TIOCM_LOOP);
41+ ret = ioctl(fd, TIOCMSET, &mcr);
42+ }
43+ if (ret)
44+ printf("disabling loopback failed: %m\n");
45
46 close(fd);
47 return status;
48--
491.9.1