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