summaryrefslogtreecommitdiff
path: root/lib/igt_psr.c
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2019-01-28 13:42:51 +0100
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2019-02-01 10:54:44 +0100
commit5bf30a96a5a21c230a141e491afcafb4ffe741c9 (patch)
tree00542f09547d9cadd3dd75741107f1b063b08df5 /lib/igt_psr.c
parent4049adf01014af077df2174def4fadf7cecb066e (diff)
lib/psr: Do not use out of bound enum for psr_set.
Using an undefined int not in the enum is undefined. Use -1 and change mode to an integer. Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: José Roberto de Souza <jose.souza@intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Diffstat (limited to 'lib/igt_psr.c')
-rw-r--r--lib/igt_psr.c8
1 files changed, 4 insertions, 4 deletions
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)