Messages in this thread | | | Date | Thu, 06 Aug 2015 08:29:29 +0100 | From | Srinivas Kandagatla <> | Subject | Re: [RFC PATCH] regulator: Fix recursive mutex lockdep warning |
| |
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
| |