]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Kill the tasklet then disable
authorChris Wilson <chris@chris-wilson.co.uk>
Sun, 12 Feb 2017 17:20:00 +0000 (17:20 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 13 Feb 2017 11:18:23 +0000 (11:18 +0000)
commit57e62ba738f33fc3d87f7c263789c113fb999c6f
tree9a170f7296a65d1809a2f4db145730eb0a647194
parent9057788d0e753a3a3ff4543deec6726a8e4734a4
drm/i915: Kill the tasklet then disable

Disabling the tasklet leaves it if scheduled on the ready to run list
until it is re-enabled. This will leave the ksoftird thread spinning
until satisfied. To prevent this situation on starting the GPU reset, we
want to kill the tasklet first and then disable. The same problem will
arise when a tasklet is scheduled from another device, so a better
solution is required for the general case.

Reported-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Fixes: d3167b66ee13 ("drm/i915: Disable engine->irq_tasklet around resets")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170212172002.23072-3-chris@chris-wilson.co.uk
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
drivers/gpu/drm/i915/i915_gem.c