From a6e5813d2f8402bf3a311c8bcda02623bfb76882 Mon Sep 17 00:00:00 2001 From: Carlos Hernandez Date: Tue, 24 Feb 2015 16:00:34 -0500 Subject: [PATCH 2/2] Restore original loopback config If loopback option is enabled, disable it at the end of the test. Signed-off-by: Carlos Hernandez Upstream-status: Pending --- serialcheck.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/serialcheck.c b/serialcheck.c index 4100c37..06470f7 100644 --- a/serialcheck.c +++ b/serialcheck.c @@ -427,6 +427,7 @@ int main(int argc, char *argv[]) unsigned char *data; unsigned int open_mode; off_t data_len; + unsigned int mcr; argp_parse(&argp, argc, argv, 0, NULL, &opts); if (!opts.file_trans) @@ -496,8 +497,6 @@ int main(int argc, char *argv[]) } if (opts.loopback) { - unsigned int mcr; - ret = ioctl(fd, TIOCMGET, &mcr); if (ret < 0) die("mcr get failed: %m\n"); @@ -535,6 +534,12 @@ int main(int argc, char *argv[]) ret = tcsetattr(fd, TCSAFLUSH, &old_term); if (ret) printf("tcsetattr() of old ones failed: %m\n"); + if (opts.loopback) { + mcr &= ~(TIOCM_LOOP); + ret = ioctl(fd, TIOCMSET, &mcr); + } + if (ret) + printf("disabling loopback failed: %m\n"); close(fd); return status; -- 1.9.1