Messages in this thread | | | Date | Fri, 27 Feb 2015 12:08:46 -0800 | From | Greg KH <> | Subject | Re: [PATCH] regulator: core: Fix enable GPIO reference counting |
| |
On Fri, Feb 27, 2015 at 11:41:03AM -0800, Doug Anderson wrote: > It is possible for _regulator_do_enable() to be called for an > already-enabled rdev, like in regulator_suspend_finish(). If we were > using an enable pin (rdev->ena_pin is set) then we'd end up > incrementing the reference count in regulator_ena_gpio_ctrl() over and > over again without a decrement. That prevented the GPIO from going to > the "off" state even after all users were disabled. > > Fix this by avoiding the call to regulator_ena_gpio_ctrl() when it's > not needed. > > Signed-off-by: Doug Anderson <dianders@chromium.org> > Fixes: 967cfb18c0e3 ("regulator: core: manage enable GPIO list") > --- > FYI: this was developed and tested against a 3.14 kernel with > backports; I've done basic boot testing against upstream and sanity > checked the code but haven't done as extensive testing there. > > drivers/regulator/core.c | 20 ++++++++++++-------- > 1 file changed, 12 insertions(+), 8 deletions(-)
<formletter>
This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read Documentation/stable_kernel_rules.txt for how to do this properly.
</formletter>
| |