On Mon, Apr 22, 2013 at 7:54 PM, Jesse Barnes <jbarnes at virtuousgeek.org> wrote: > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 2557926..4669d8c 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -2545,6 +2545,9 @@ static void gen6_disable_rps(struct drm_device *dev) > spin_unlock_irq(&dev_priv->rps.lock); > > I915_WRITE(GEN6_PMIIR, I915_READ(GEN6_PMIIR)); > + > + if (IS_VALLEYVIEW(dev)) > + cancel_delayed_work_sync(&dev_priv->rps.vlv_work); We hold the rps mutex here, so this can deadlock. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch