Re: RFC: a failing pm_runtime_get increases the refcnt?

From: Andy Shevchenko
Date: Sun Jun 14 2020 - 05:43:18 EST


On Sun, Jun 14, 2020 at 12:34 PM Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
>
> On Sun, Jun 14, 2020 at 12:10 PM Wolfram Sang <wsa@xxxxxxxxxx> wrote:
> > both in the I2C subsystem and also for Renesas drivers I maintain, I am
> > starting to get boilerplate patches doing some pm_runtime_put_* variant
> > because a failing pm_runtime_get is supposed to increase the ref
> > counters? Really? This feels wrong and unintuitive to me.
>
> Yeah, that is a well known issue with PM (I even have for a long time
> a coccinelle script, when I realized myself that there are a lot of
> cases like this, but someone else discovered this recently, like
> opening a can of worms).
>
> > I expect there
> > has been a discussion around it but I couldn't find it.
>
> Rafael explained (again) recently this. I can't find it quickly, unfortunately.

I _think_ this discussion, but may be it's simple another tentacle of
the same octopus.
https://patchwork.ozlabs.org/project/linux-tegra/patch/20200520095148.10995-1-dinghao.liu@xxxxxxxxxx/

>
> > I wonder why we
> > don't fix the code where the incremented refcount is expected for some
> > reason.
>
> The main idea behind API that a lot of drivers do *not* check error
> codes from runtime PM, so, we need to keep balance in case of
>
> pm_runtime_get(...);
> ...
> pm_runtime_put(...);
>
> > Can I have some pointers please?
>
> --
> With Best Regards,
> Andy Shevchenko



--
With Best Regards,
Andy Shevchenko