RE: [PATCH] regulator: recursive locking detected

From: Robert ROSENGREN
Date: Thu Apr 07 2011 - 02:35:52 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/