As the worker may exit by itself, we need to hold a task reference to it
in the parent.

References: https://bugs.freedesktop.org/show_bug.cgi?id=108735
Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/selftests/intel_hangcheck.c 
b/drivers/gpu/drm/i915/selftests/intel_hangcheck.c
index 51d0e2bed9e1..defe671130ab 100644
--- a/drivers/gpu/drm/i915/selftests/intel_hangcheck.c
+++ b/drivers/gpu/drm/i915/selftests/intel_hangcheck.c
@@ -1150,6 +1150,7 @@ static int __igt_reset_evict_vma(struct drm_i915_private 
*i915,
                tsk = NULL;
                goto out_reset;
        }
+       get_task_struct(tsk);
 
        wait_for_completion(&arg.completion);
 
@@ -1172,6 +1173,8 @@ static int __igt_reset_evict_vma(struct drm_i915_private 
*i915,
                /* The reset, even indirectly, should take less than 10ms. */
                igt_wedge_on_timeout(&w, i915, HZ / 10 /* 100ms timeout*/)
                        err = kthread_stop(tsk);
+
+               put_task_struct(tsk);
        }
 
        mutex_lock(&i915->drm.struct_mutex);
-- 
2.19.1

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

Reply via email to