Hold onto the vm->mutex (to lock the drm_mm) to ensure that the rbtree
is table as we search it for our scratch node.

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c 
b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
index 130c4c522686..375d864736f3 100644
--- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
@@ -1465,9 +1465,12 @@ static int igt_ctx_readonly(void *arg)
 
 static int check_scratch(struct i915_address_space *vm, u64 offset)
 {
-       struct drm_mm_node *node =
-               __drm_mm_interval_first(&vm->mm,
-                                       offset, offset + sizeof(u32) - 1);
+       struct drm_mm_node *node;
+
+       mutex_lock(&vm->mutex);
+       node = __drm_mm_interval_first(&vm->mm,
+                                      offset, offset + sizeof(u32) - 1);
+       mutex_unlock(&vm->mutex);
        if (!node || node->start > offset)
                return 0;
 
-- 
2.25.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to