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

From: Greg Kroah-Hartman
Date: Fri May 06 2016 - 13:26:15 EST


On Thu, Apr 28, 2016 at 05:43:37PM -0700, John Stultz wrote:
> 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);
> }
>

This should now all be fixed in 4.4.9, and this patch isn't needed,
right?

thanks,

greg k-h