[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CEE6BB42CAD6E947908279175AF8470A0C79DEC0E1@EXDCVYMBSTM006.EQ1STM.local>
Date: Thu, 7 Apr 2011 08:31:47 +0200
From: Robert ROSENGREN <robert.rosengren@...ricsson.com>
To: Mark Brown <broonie@...nsource.wolfsonmicro.com>
Cc: Liam Girdwood <lrg@...mlogic.co.uk>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Bengt JONSSON <bengt.g.jonsson@...ricsson.com>,
Linus Walleij <linus.walleij@...aro.org>
Subject: RE: [PATCH] regulator: recursive locking detected
On Sat, 2011-04-02 at 10:12 +0900, Mark Brown wrote:
> On Fri, Apr 01, 2011 at 12:04:17PM +0200, Robert Rosengren wrote:
> > "possible recursive locking detected"-warnings are issued when a
> > regulator has specified supply regulator. Both when enabling and
> > disabling regulators uses recursive call chains for notify the supply
> > regulators. This is due to locking mutexes of the same lock class,
> > i.e. the locks reside in the regulator_dev struct.
>
> There's actually a race here reported by David Brown in the past week
> when working with supplies so the lock warning is probably a real issue
> which should be fixed rather than overriding the warning. Search the
> list for the past week or so for the details.
Thanks for letting me know, sorry I missed that discussion. Having
checked that out, few comments regarding the mutex_lock_nested
discussion.
If going for silencing the mutex warning in _notifier_call_chain, it
will not be sufficient to use SINGLE_DEPTH_NESTING as there is no limit
of just using one supply regulator, the next one may also have a supply
so for each one we need to increase the subclass in mutex_lock_nested.
Don't know if we have real use cases here, but at least the code admits
it. --
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists