From 5bf30a96a5a21c230a141e491afcafb4ffe741c9 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Mon, 28 Jan 2019 13:42:51 +0100 Subject: lib/psr: Do not use out of bound enum for psr_set. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using an undefined int not in the enum is undefined. Use -1 and change mode to an integer. Cc: Dhinakaran Pandiyan Cc: José Roberto de Souza Signed-off-by: Maarten Lankhorst Reviewed-by: José Roberto de Souza --- lib/igt_psr.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/igt_psr.c') diff --git a/lib/igt_psr.c b/lib/igt_psr.c index d726fad5..5eb6d2c6 100644 --- a/lib/igt_psr.c +++ b/lib/igt_psr.c @@ -100,13 +100,13 @@ static void restore_psr_debugfs(int sig) psr_write(psr_restore_debugfs_fd, "0"); } -static bool psr_set(int debugfs_fd, enum psr_mode mode) +static bool psr_set(int debugfs_fd, int mode) { int ret; ret = has_psr_debugfs(debugfs_fd); if (ret == -ENODEV) { - igt_skip("PSR not available\n"); + igt_skip_on_f(mode >= PSR_MODE_1, "PSR not available\n"); return false; } @@ -117,7 +117,7 @@ static bool psr_set(int debugfs_fd, enum psr_mode mode) * version enabled and the PSR version of the test, it will * fail in the first psr_wait_entry() of the test. */ - ret = psr_modparam_set(mode <= PSR_MODE_2); + ret = psr_modparam_set(mode >= PSR_MODE_1); } else { const char *debug_val; @@ -155,7 +155,7 @@ bool psr_enable(int debugfs_fd, enum psr_mode mode) bool psr_disable(int debugfs_fd) { /* Any mode different than PSR_MODE_1/2 will disable PSR */ - return psr_set(debugfs_fd, PSR_MODE_2 + 1); + return psr_set(debugfs_fd, -1); } bool psr_sink_support(int debugfs_fd, enum psr_mode mode) -- cgit v1.2.3