[igt-dev] [PATCH i-g-t 1/2] lib/psr: Do not use out of bound enum for psr_set.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Thu Jan 31 14:18:51 UTC 2019


Using an undefined int not in the enum is undefined. Use -1 and change
mode to an integer.

Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
Cc: José Roberto de Souza <jose.souza at intel.com>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
---
 lib/igt_psr.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/igt_psr.c b/lib/igt_psr.c
index d726fad58e9d..5eb6d2c6ace5 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)
-- 
2.20.1



More information about the igt-dev mailing list