[igt-dev] [PATCH i-g-t 2/3] tests/gem_userptr_blits: More exact detection of lockdep loop prevention

Janusz Krzysztofik
2020-03-04T09:58:40Z

If mmap-offset over userptr fails, skip with respective message about
lockdep loop preventive failure occurrence only if ENODEV, fail
otherwise.

Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
---
tests/i915/gem_userptr_blits.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tests/i915/gem_userptr_blits.c b/tests/i915/gem_userptr_blits.c
index 8148d7d76..95e90c40a 100644
--- a/tests/i915/gem_userptr_blits.c
+++ b/tests/i915/gem_userptr_blits.c
@@ -818,7 +818,10 @@ static void test_mmap_offset_invalidate(int fd, const struct mmap_offset *t)
/* set up mmap-offset mapping on top of the object, skip if refused */
map = __gem_mmap_offset(fd, handle, 0, PAGE_SIZE,
PROT_READ | PROT_WRITE, t->type);
- igt_require_f(map, "mmap-offset banned, lockdep loop prevention\n");
+ igt_skip_on_f(!map && errno == ENODEV,
+ "mmap-offset(%s) banned, lockdep loop prevention\n",
+ t->name);
+ igt_assert(map);

/* set object pages in order to activate MMU notifier for it */
gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);