UPSTREAM: regulator: Fix lockdep warning resolving supplies
With commit eaa7995c (regulator: core: avoid regulator_resolve_supply() race condition) we started holding the rdev lock while resolving supplies, an operation that requires holding the regulator_list_mutex. This results in lockdep warnings since in other places we take the list mutex then the mutex on an individual rdev. Since the goal is to make sure that we don't call set_supply() twice rather than a concern about the cost of resolution pull the rdev lock and check for duplicate resolution down to immediately before we do the set_supply() and drop it again once the allocation is done. Fixes: eaa7995c (regulator: core: avoid regulator_resolve_supply() race condition) Reported-by:Marek Szyprowski <m.szyprowski@samsung.com> Tested-by:
Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by:
Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20210122132042.10306-1-broonie@kernel.org Signed-off-by:
Mark Brown <broonie@kernel.org> (cherry picked from commit 14a71d50) Bug: 177002490 Change-Id: I4b39edb5bf765d6d7ded275d70dfcf0839842f64 Signed-off-by:
David Collins <collinsd@codeaurora.org>
Loading
Please register or sign in to comment