lkml.org 
[lkml]   [2015]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [RFC PATCH] regulator: Fix recursive mutex lockdep warning
From
2015-08-06 16:35 GMT+09:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
> On 06.08.2015 16:29, Srinivas Kandagatla wrote:
>> 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 :-)
>
> I think the warning appears because the class of lock is the same but
> there is nesting information:

Crap... s/there is nesting/there is no nesting/

Maybe it is worth to add it... or remove the lockdep warning if it hits often.

> "May be due to missing lock nesting notation"
> Fixing this would require adding the nesting information.


\
 
 \ /
  Last update: 2015-08-06 10:21    [W:0.036 / U:0.512 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site