On Mon, Nov 24, 2014 at 05:56:20PM +0100, Egbert Eich wrote: > Before testing if the panel VDD is enabled on eDP cancel any pending > disable worker. This makes sure the worker doesn't fire when we expect > VDD to be enabled. > > https://bugs.freedesktop.org/show_bug.cgi?id=86201 > > Signed-off-by: Egbert Eich <eich@xxxxxxx> > --- > drivers/gpu/drm/i915/intel_dp.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 70bb8d0b..81f959d 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -1503,6 +1503,7 @@ static bool edp_panel_vdd_on(struct intel_dp *intel_dp) > if (!is_edp(intel_dp)) > return false; > > + cancel_delayed_work_sync(&intel_dp->panel_vdd_work); This can deadlock since we're already holding pps_mutex and edp_panel_vdd_work() also grabs it. I'm thinking we may want something like mod_delayed_work() instead. > intel_dp->want_panel_vdd = true; > > if (edp_have_panel_vdd(intel_dp)) > -- > 1.8.4.5 -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx