[PATCH] drm/i2c: tda998x: Fix lockdep warning about possible circular dependency

Russell King - ARM Linux linux at armlinux.org.uk
Thu Jul 20 14:24:13 UTC 2017


On Thu, Jul 20, 2017 at 03:19:10PM +0100, Liviu Dudau wrote:
> On Thu, Jul 20, 2017 at 02:08:29PM +0100, Russell King - ARM Linux wrote:
> > On Thu, Jul 20, 2017 at 01:54:04PM +0100, Liviu Dudau wrote:
> > > On Thu, Jul 20, 2017 at 12:44:49PM +0100, Russell King - ARM Linux wrote:
> > > > Actually, scrub that idea - drm_helper_probe_single_connector_modes()
> > > > calls drm_edid_to_eld() for these cases anyway, so we must call
> > > > drm_helper_probe_single_connector_modes() with the audio_mutex held.
> > > 
> > > OK, so the lockdep warning is spurious?
> > 
> > I don't think so.  I think there's two ways to solve this:
> > 
> > 1. replace the audio_mutex in tda998x_audio_get_eld() and
> >    tda998x_connector_fill_modes() with a new mutex (eld_mutex) to
> >    protect just the ELD.
> > 
> > 2. remove the mutex from these two functions, and take the connection_mutex
> >    modeset lock in tda998x_audio_get_eld().
> > 
> > However, I don't have a view on which would be best.
> 
> If you don't mind, I took the liberty of picking option 2, just because
> I don't like adding new locks when existing ones might do the job.

I don't mind - but one question for the DRM people in connection with
your patch is whether we need the acquire context for this relatively
simple lock/copy/unlock sequence.  This path for getting the ELD
shouldn't be holding any other DRM locks.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.


More information about the dri-devel mailing list