Re: [PATCH] regulator: recursive locking detected

From: Mark Brown
Date: Fri Apr 01 2011 - 21:11:58 EST


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).
--
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/