Re: [PATCH] gpio: rcar: handle pm_runtime_get_sync failure case

From: Geert Uytterhoeven
Date: Wed Jun 10 2020 - 08:04:56 EST


Hi Linus,

On Wed, Jun 10, 2020 at 10:52 AM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote:
> On Fri, Jun 5, 2020 at 4:49 AM Navid Emamdoost
> <navid.emamdoost@xxxxxxxxx> wrote:
> > Calling pm_runtime_get_sync increments the counter even in case of
> > failure, causing incorrect ref count. Call pm_runtime_put if
> > pm_runtime_get_sync fails.
> >
> > Signed-off-by: Navid Emamdoost <navid.emamdoost@xxxxxxxxx>
> > ---
> > drivers/gpio/gpio-rcar.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c
> > index 7284473c9fe3..eac1582c70da 100644
> > --- a/drivers/gpio/gpio-rcar.c
> > +++ b/drivers/gpio/gpio-rcar.c
> > @@ -250,8 +250,10 @@ static int gpio_rcar_request(struct gpio_chip *chip, unsigned offset)
> > int error;
> >
> > error = pm_runtime_get_sync(p->dev);
> > - if (error < 0)
> > + if (error < 0) {
> > + pm_runtime_put(p->dev);
> > return error;
> > + }
>
> I need Geert's review on this, he's usually on top of the Renesas stuff.

TBH, I don't know anymore _which_ is the right call to make...

"Re: [PATCH] spi: spi-ti-qspi: call pm_runtime_put on pm_runtime_get failure"
https://lore.kernel.org/linux-spi/20200602095411.GB5684@xxxxxxxxxxxxx/

Gr{oetje,eeting}s,

Geert


--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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