[RFC][PATCH 4.4-stable] regulator: core: Ensure we lock all regulators

From: John Stultz
Date: Thu Apr 28 2016 - 20:43:52 EST


It seems upstream commit 49a6bb7a1c09 ("regulator: core: Ensure
we lock all regulators"), was missed when considering tagging
for -stable.

Without this varient of that patch (the original doesn't apply,
due to a later fix to the same which was backported), I see
double-unlock lockdep splats in the v4.4.8 based HiKey kernel.

Cc: Mark Brown <broonie@xxxxxxxxxx>
Cc: Tyler Baker <tyler.baker@xxxxxxxxxx>
Cc: Thierry Reding <treding@xxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
CC: stable <stable@xxxxxxxxxxxxxxx> # 4.4 only (I think)
Fixes: 3c2c5fb9b99ca ("regulator: core: avoid unused variable warning")
Originally-Reported-by: Tyler Baker <tyler.baker@xxxxxxxxxx>
Originally-by: Mark Brown <broonie@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
---
drivers/regulator/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 7b94b8e..732ac71 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -148,7 +148,7 @@ static void regulator_lock_supply(struct regulator_dev *rdev)
{
int i;

- for (i = 0; rdev->supply; rdev = rdev_get_supply(rdev), i++)
+ for (i = 0; rdev; rdev = rdev_get_supply(rdev), i++)
mutex_lock_nested(&rdev->mutex, i);
}

--
1.9.1