<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED - [BAT] WARN_ON(dev_priv->gt.awake) during drv_module_reload_basic"
href="https://bugs.freedesktop.org/show_bug.cgi?id=98670#c4">Comment # 4</a>
on <a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED - [BAT] WARN_ON(dev_priv->gt.awake) during drv_module_reload_basic"
href="https://bugs.freedesktop.org/show_bug.cgi?id=98670">bug 98670</a>
from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
<pre>Looks more likely that we are hitting one of the skip idle() checks, maybe
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 9cc50247ad44..fa9b1b68f501 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4314,7 +4314,8 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
cancel_delayed_work_sync(&dev_priv->gpu_error.hangcheck_work);
cancel_delayed_work_sync(&dev_priv->gt.retire_work);
flush_delayed_work(&dev_priv->gt.idle_work);
- flush_work(&dev_priv->mm.free_work);
+ while (flush_work(&dev_priv->mm.free_work))
+ ;
/* Assert that we sucessfully flushed all the work and
* reset the GPU back to its idle, low power state.
to really drain the work.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>