On 7/30/19 6:21 AM, Andy Shevchenko wrote:
On Mon, Jul 29, 2019 at 05:07:39PM -0500, Pierre-Louis Bossart wrote:
On 7/26/19 2:08 PM, Andy Shevchenko wrote:
On Fri, Jul 26, 2019 at 01:08:57PM -0500, Pierre-Louis Bossart wrote:
- if (ret < 0)
- if (ret < 0 && ret != -EACCES)
...and here, the pm_runtime_put_noidle() call is missed.
yes but in the example you provided, they actually do more work than just decrement the device usage counter:
In their case they would like to do that. You decide what is appropriate call in your case.
My point is, that reference counter in case of error handling should be returned back to its value.
Agree on the reference count. I am however not clear on the next step and 'what is appropriate'.
If pm_runtime_get_sync() failed, then technically the device was not resumed so marking it as last_busy+autosuspend, or using a plain vanilla put() will not result in any action. I must be missing something here.