Re: [PATCH] regulator: core: Ensure we lock all regulators

From: Arnd Bergmann
Date: Tue Dec 01 2015 - 11:45:35 EST


On Tuesday 01 December 2015 16:40:57 Mark Brown wrote:
> diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
> index daffff83ced2..f71db02fcb71 100644
> --- a/drivers/regulator/core.c
> +++ b/drivers/regulator/core.c
> @@ -141,7 +141,7 @@ static void regulator_lock_supply(struct regulator_dev *rdev)
> int i;
>
> mutex_lock(&rdev->mutex);
> - for (i = 1; rdev->supply; rdev = rdev->supply->rdev, i++)
> + for (i = 1; rdev; rdev = rdev->supply->rdev, i++)
> mutex_lock_nested(&rdev->mutex, i);
>

I think now we have a double lock, the initial mutex_lock() needs to
be removed again.

Arnd
--
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/