Messages in this thread | | | Date | Wed, 19 Aug 2015 15:08:34 +0200 | Subject | Re: [PATCH] regulator: Add lockdep asserts to help detecting locking misuse | From | Geert Uytterhoeven <> |
| |
Hi Krzysztof,
On Wed, Jun 10, 2015 at 8:23 AM, Krzysztof Kozlowski <k.kozlowski@samsung.com> wrote: > Add lockdep_assert_held_once() to functions explicitly mentioning that > rdev or regulator_list mutex must be held. Using WARN_ONCE shouldn't > pollute the dmesg to much. > > The patch (if CONFIG_LOCKDEP enabled) will show warnings in certain > regulators calling regulator_notifier_call_chain() without rdev->mutex > held. > > Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> > > --- > > Warnings for missing locks when calling regulator_notifier_call_chain() > should appear on many regulators except wm8350-regulator.c, e.g.: > da9055-regulator.c, da9062-regulator.c, da9063-regulator.c, > da9211-regulator.c, wm831x-dcdc.c and few more. > > The question is whether the lock during that call should be held?
That was a (so far, not counting the "Applied, thanks!") unanswered question?
For the first time ever, I got:
drivers/regulator/core.c:3480 regulator_notifier_call_chain+0x54/0x80()
due to da9210_irq_handler() not taking the mutex.
Drivers calling regulator_notifier_call_chain() from a threaded interrupt handler should be OK calling mutex_lock().
Does anyone have plans to fix all affected drivers?
Thanks!
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
| |