[Intel-gfx] Lock in the ironlake_panel_vdd_work()

Keith Packard keithp at keithp.com
Mon Oct 31 19:33:22 CET 2011


On Mon, 31 Oct 2011 14:34:46 +0100, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Mon, Oct 31, 2011 at 03:01:33PM +0200, Konstantin Belousov wrote:
> > I have a question about ironlake_panel_vdd_work(). Should it use
> > the device struct_mutex, or need it to be the mode_config.mutex
> > instead ?
> 
> Yeah. This was actually flagged in review by Chris and me, but seems to
> have been lost in the merge. Keith?

I thought I fixed that; it must have gotten lost in the fairly steady
set of rebasing/reworking of that patch sequence.


commit 241dedda2785f040da45576418686490431232d2
Author: Keith Packard <keithp at keithp.com>
Date:   Mon Oct 31 11:30:10 2011 -0700

    drm/i915: Use mode_config.mutex in ironlake_panel_vdd_work
    
    Use of the struct_mutex is not correct for locking in mode setting paths.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 6611d90..30420c1 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -971,9 +971,9 @@ static void ironlake_panel_vdd_work(struct work_struct *__work)
                                                 struct intel_dp, panel_vdd_work);
        struct drm_device *dev = intel_dp->base.base.dev;
 
-       mutex_lock(&dev->struct_mutex);
+       mutex_lock(&dev->mode_config.mutex);
        ironlake_panel_vdd_off_sync(intel_dp);
-       mutex_unlock(&dev->struct_mutex);
+       mutex_unlock(&dev->mode_config.mutex);
 }
 
 static void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync)

-- 
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20111031/488966f7/attachment.sig>


More information about the Intel-gfx mailing list