Re: [PATCH] regulator: core: Fix enable GPIO reference counting

From: Greg KH
Date: Fri Feb 27 2015 - 15:08:51 EST


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@xxxxxxxxxxxx>
> 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>
--
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/