Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/i915_gem_shrinker.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c index 6eea4abeb9ce..454be9719daa 100644 --- a/drivers/gpu/drm/i915/i915_gem_shrinker.c +++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c @@ -312,9 +312,14 @@ i915_gem_shrinker_lock_uninterruptible(struct drm_i915_private *dev_priv, unsigned long timeout = msecs_to_jiffies(timeout_ms) + 1; while (!i915_gem_shrinker_lock(dev_priv->dev, &slu->unlock)) { + if (i915_gem_wait_for_idle(dev_priv) == 0 && + i915_gem_shrinker_lock(dev_priv->dev, &slu->unlock)) + break; + schedule_timeout_killable(1); if (fatal_signal_pending(current)) return false; + if (--timeout == 0) { pr_err("Unable to lock GPU to purge memory.\n"); return false; -- 2.8.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx