commit 564261c11bcdb52f81619dc442be6ec8917afc62 Author: Daniel Vetter Date: Thu Feb 16 18:53:14 2012 +0100 drm/i915: mark our workqueue as freezeable Currently we just don't bother to correctly cancel all work items when suspending, possibly creating endless amounts of undesired hilarity. Marking the workqueue as freezeable isn't really a good solution, we need to share the worqueue cancel code with the module unload stuff. But for testing this is good enough. Not-Signed-Off-by: Daniel Vetter diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index 39728fb..189be6a 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c @@ -2017,7 +2017,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) * workqueue at any time: max_active = 1 and NON_REENTRANT. */ dev_priv->wq = alloc_workqueue("i915", - WQ_UNBOUND | WQ_NON_REENTRANT, + WQ_FREEZABLE | WQ_UNBOUND | WQ_NON_REENTRANT, 1); if (dev_priv->wq == NULL) { DRM_ERROR("Failed to create our workqueue.\n");