Re: [RFC PATCH] regulator: Fix recursive mutex lockdep warning

From: Srinivas Kandagatla
Date: Thu Aug 06 2015 - 03:30:18 EST


Thanks Krzysztof

On 06/08/15 02:39, Krzysztof Kozlowski wrote:
--- a/drivers/regulator/core.c
>+++ b/drivers/regulator/core.c
>@@ -2919,7 +2919,7 @@ static int _regulator_get_voltage(struct regulator_dev *rdev)
> } else if (rdev->desc->fixed_uV && (rdev->desc->n_voltages == 1)) {
> ret = rdev->desc->fixed_uV;
> } else if (rdev->supply) {
>- ret = regulator_get_voltage(rdev->supply);
>+ ret = _regulator_get_voltage(rdev->supply->rdev);
Is the 'rdev' and 'rdev->supply' same regulators? If not then you are
just hiding false warning by removing locks thus introducing real
issue...
They are the not the same regulators, and hence they are not locking the same mutex, looks like this is a false positive warning from lockdep. I can't think of any use case which could result in ABBA type lockup too, so we can ignore this patch for now.

Not sure why did the lockdep think that this is same lock :-)

--srini

Best regards,
Krzysztof
--
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/