[igt-dev] [PATCH i-g-t] lib: Require working GEM (!wedged) to allow hang injection

Chris Wilson chris at chris-wilson.co.uk
Tue Jul 10 11:31:05 UTC 2018


As we ordinarily use a spinning batch to trigger a hang, we cannot do so
without execbuf. On the other hand, if we do a manual reset of the
wedged driver, we expect it to remain wedged and for the reset to fail;
failing the test. Even if we remove the igt_assert(!wedged), the test is
suspect as we don't know if the reset took place and so do not know if
the conditions the test is trying to setup apply.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 lib/igt_gt.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/lib/igt_gt.c b/lib/igt_gt.c
index 4569fd36b..89b318ae6 100644
--- a/lib/igt_gt.c
+++ b/lib/igt_gt.c
@@ -162,6 +162,13 @@ igt_hang_t igt_allow_hang(int fd, unsigned ctx, unsigned flags)
 	};
 	unsigned ban;
 
+	/*
+	 * If the driver is already wedged, we don't expect it to be able
+	 * to recover from reset and for it to remain wedged. It's hard to
+	 * say even if we do hang/reset making the test suspect.
+	 */
+	igt_require_gem(fd);
+
 	igt_assert(igt_sysfs_set_parameter
 		   (fd, "reset", "%d", INT_MAX /* any reset method */));
 
-- 
2.18.0



More information about the igt-dev mailing list