Re: New underflow of regulator enable count warnings in v5.0-rc1

From: Tony Lindgren
Date: Tue Jan 29 2019 - 12:11:57 EST


* Doug Anderson <dianders@xxxxxxxxxxxx> [190129 17:05]:
> Hi,
>
> On Tue, Jan 29, 2019 at 8:48 AM Tony Lindgren <tony@xxxxxxxxxxx> wrote:
> >
> > Hi,
> >
> > Looks like commit 5451781dadf8 ("regulator: core: Only count load for
> > enabled consumers") started showing new warnings with v5.0-rc cycle:
> >
> > regulator-dummy: Underflow of regulator enable count
> >
> > I'm seeing this at least with my pwm-vibra test case:
> >
> > # rumble-test /dev/input/by-path/platform-vibrator-event 0xffff
> > pwm-vibrator vibrator: vibrator supply vcc not found, using dummy regulator
> > input: pwm-vibrator as /devices/platform/vibrator/input/input4
> > regulator-dummy: Underflow of regulator enable count
> > Upload rumble effect... id=0
> > regulator-dummy: Underflow of regulator enable count
> >
> > Are these bogus warnings for dummy regulator or do we have
> > real unpaired regulator calls or somewhere?
>
> My first guess is that there's a real unpaired regulator call somewhere.
>
> I actually meant to include this in the commit message, but I'm an
> idiot and I used "--" to break up the parts of the commit message
> which confused git when Mark applied it. Sigh. For the full commit
> message, see:
>
> https://lkml.kernel.org/r/20181120175255.227783-1-dianders@xxxxxxxxxxxx

Oh I see, thanks for the link :)

> In that message I said:
>
> > - We can (and will) spit errors out for code that used to be invalid
> > but was never caught before. Specifically if someone leaves a
> > regulator enabled and calls regulator_put() we'll yell. We'll also
> > yell if a single consumer calls more disables than enables.
>
> Looking quickly at 'pwm-vibra.c' it wouldn't surprise me at all if you
> call regulator_disable() more times than regulator_enable(). If
> that's true it should be fixed.

OK. Let's see if Sebastian spots where pwm_vibrator_start()
and pwm_vibrator_stop() might get called multiple times
or something similar.

Regards,

Tony