Messages in this thread | | | Date | Sat, 2 Apr 2011 10:12:03 +0900 | From | Mark Brown <> | Subject | Re: [PATCH] regulator: recursive locking detected |
| |
On Fri, Apr 01, 2011 at 12:04:17PM +0200, Robert Rosengren wrote: > "possible recursive locking detected"-warnings are issued when a > regulator has specified supply regulator. Both when enabling and > disabling regulators uses recursive call chains for notify the supply > regulators. This is due to locking mutexes of the same lock class, > i.e. the locks reside in the regulator_dev struct.
There's actually a race here reported by David Brown in the past week when working with supplies so the lock warning is probably a real issue which should be fixed rather than overriding the warning. Search the list for the past week or so for the details.
> +/* locks held by regulator_enable() > + * lock_sublevel should always be 0, only used for recursive calls. > + */ > +static int _regulator_enable(struct regulator_dev *rdev, > + int lock_sublevel)
This comment is inaccurate (and if it were then obviously sublevel wouldn't be needed).
| |