On Tue, Jan 24, 2017 at 10:39:44AM +0200, Joonas Lahtinen wrote: > On ma, 2017-01-23 at 21:29 +0000, Chris Wilson wrote: > > @@ -17329,6 +17350,9 @@ void intel_modeset_cleanup(struct drm_device *dev) > > { > > struct drm_i915_private *dev_priv = to_i915(dev); > > > > + flush_work(&dev_priv->atomic_helper.free_work); > > + WARN_ON(!llist_empty(&dev_priv->atomic_helper.free_list)); > > Maybe make this while(!llist_empty) flush_work() to begin with? There's > exactly no locking in place to prevent that from happening? Stuck with it since it is adequate for now, and I think should be correct for a long time. Spent a long time checking reload to see if I could catch an issue with a missed worker, and found none. > Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Added Fixes: c004a90b7263 ("drm/i915: Restore nonblocking awaits for modesetting") for good measure since although it has only turned up now, that seems like it could just be a concidence. Thanks for the review and catching the bug. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx