Re: [PATCH] Input: bma150: fix ref count leak in bma150_open

From: Andy Shevchenko
Date: Sun Jun 14 2020 - 05:28:03 EST


On Sun, Jun 14, 2020 at 8:58 AM Navid Emamdoost
<navid.emamdoost@xxxxxxxxx> wrote:
>
> in bma150_open, pm_runtime_get_sync is called which
> increments the counter even in case of failure, leading to incorrect
> ref count. In case of failure, decrement the ref count before returning.

...

> error = pm_runtime_get_sync(&bma150->client->dev);
> if (error < 0 && error != -ENOSYS)
> - return error;
> + goto out;

So, what will happen in case of -ENOSYS?

...

> + pm_runtime_put(&bma150->client->dev);

Slightly better to use _put_noidle(). (More consistency with error path)

--
With Best Regards,
Andy Shevchenko