[igt-dev] [PATCH i-g-t] lib/pm: Fail gracefully if CONFIG_PM is not built into the kernel

Chris Wilson chris at chris-wilson.co.uk
Wed Sep 5 09:07:05 UTC 2018


We report the failure from igt_setup_runtime_pm() so that the caller can
decide how they may proceed, so replace the hard assert with the error
propagation.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Cc: Imre Deak <imre.deak at intel.com>
---
 lib/igt_pm.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/lib/igt_pm.c b/lib/igt_pm.c
index 615463a08..49027238b 100644
--- a/lib/igt_pm.c
+++ b/lib/igt_pm.c
@@ -511,12 +511,16 @@ bool igt_setup_runtime_pm(void)
 
 	igt_pm_enable_audio_runtime_pm();
 
-	/* Our implementation uses autosuspend. Try to set it to 0ms so the test
-	 * suite goes faster and we have a higher probability of triggering race
-	 * conditions. */
+	/*
+	 * Our implementation uses autosuspend. Try to set it to 0ms so the
+	 * test suite goes faster and we have a higher probability of
+	 * triggering race conditions.
+	 */
 	fd = open(POWER_DIR "/autosuspend_delay_ms", O_RDWR);
-	igt_assert_f(fd >= 0,
-		     "Can't open " POWER_DIR "/autosuspend_delay_ms\n");
+	if (fd < 0) {
+		igt_pm_audio_restore_runtime_pm();
+		return false;
+	}
 
 	/*
 	 * Save previous values to be able to  install exit handler to restore
@@ -531,6 +535,7 @@ bool igt_setup_runtime_pm(void)
 	 */
 	if (size <= 0) {
 		close(fd);
+		igt_pm_audio_restore_runtime_pm();
 		return false;
 	}
 
-- 
2.19.0.rc1



More information about the igt-dev mailing list