[PATCH] drm/radeon: take the mode_config mutex when dealing with hpds

Daniel Vetter daniel at ffwll.ch
Tue May 19 00:49:29 PDT 2015


On Mon, May 18, 2015 at 11:28:47PM -0400, Alex Deucher wrote:
> On Mon, May 18, 2015 at 11:24 PM, Dave Airlie <airlied at gmail.com> wrote:
> > On 19 May 2015 at 12:27, Michel Dänzer <michel at daenzer.net> wrote:
> >> On 19.05.2015 01:24, Alex Deucher wrote:
> >>>
> >>> @@ -96,10 +98,12 @@ static void radeon_dp_work_func(struct work_struct *work)
> >>>       struct drm_connector *connector;
> >>>
> >>>       /* this should take a mutex */
> >>> +     mutex_lock(&mode_config->mutex);
> >>
> >> This comment can be removed?
> >
> > I have vague memories of not doing this, because bad things happened.
> >
> > so keep an eye out for lockdep traces.
> 
> I tested the non-MST handling pretty extensively, but I admit I didn't
> play with mst.  Might be better to split this into two patches.

Registering a new connector also needs the dev->mode_config.mutex. If you
hold that while calling into mst hpd code you'll deadlock.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list