[Intel-gfx] [PATCH i-g-t] lib/igt_aux: Allow sysfs open to fail when setting suspend/resume delay

Paul Kocialkowski paul.kocialkowski at linux.intel.com
Wed Aug 30 13:56:09 UTC 2017


This removes the igt_require condition on the sysfs open call used to
write the suspend/resume delay so that it is allowed to fail. Intsead,
the code that depends on it is put in a conditional block.

This allows running test binaries as a non-privileged user for e.g.
listing the available tests with the SuspendResumeDelay parameter set
in igtrc configuration. Sysfs access would otherwise cause it to fail.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski at linux.intel.com>
---
 lib/igt_aux.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index f428f159..d808fe3e 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -883,19 +883,21 @@ void igt_set_autoresume_delay(int delay_secs)
 
 	igt_skip_on_simulation();
 
-	igt_require((delay_fd = open("/sys/module/suspend/parameters/pm_test_delay",
-				    O_RDWR)) >= 0);
+	delay_fd = open("/sys/module/suspend/parameters/pm_test_delay", O_RDWR);
+
+	if (delay_fd >= 0) {
+		if (!original_autoresume_delay) {
+			igt_require(read(delay_fd, delay_str,
+					 sizeof(delay_str)));
+			original_autoresume_delay = atoi(delay_str);
+			igt_install_exit_handler(igt_restore_autoresume_delay);
+		}
 
-	if (!original_autoresume_delay) {
-		igt_require(read(delay_fd, delay_str, sizeof(delay_str)));
-		original_autoresume_delay = atoi(delay_str);
-		igt_install_exit_handler(igt_restore_autoresume_delay);
-	}
+		snprintf(delay_str, sizeof(delay_str), "%d", delay_secs);
+		igt_require(write(delay_fd, delay_str, strlen(delay_str)));
 
-	snprintf(delay_str, sizeof(delay_str), "%d", delay_secs);
-	igt_require(write(delay_fd, delay_str, strlen(delay_str)));
-
-	close(delay_fd);
+		close(delay_fd);
+	}
 
 	autoresume_delay = delay_secs;
 }
-- 
2.14.0



More information about the Intel-gfx mailing list