From: Ben Dooks <ben.dooks@codethink.co.uk>
To: linux-sh@vger.kernel.org
Subject: Re: [PATCH] sh_eth: ensure pm_runtime cannot suspend the device during init
Date: Wed, 19 Mar 2014 08:19:44 +0000 [thread overview]
Message-ID: <53295320.7090005@codethink.co.uk> (raw)
In-Reply-To: <1394823605-31883-1-git-send-email-ben.dooks@codethink.co.uk>
On 17/03/14 14:41, Laurent Pinchart wrote:
> Hi Ben,
>
> On Monday 17 March 2014 13:36:33 Ben Dooks wrote:
>
> [snip]
>
>> From pm_runtime.h:
>>
>> static inline int pm_runtime_get_sync(struct device *dev)
>> {
>> return __pm_runtime_resume(dev, RPM_GET_PUT);
>> }
>>
>> static inline int pm_request_resume(struct device *dev)
>> {
>> return __pm_runtime_resume(dev, RPM_ASYNC);
>> }
>>
>> So it looks like pm_runtime_resume() does not protect against the
>> possibility that something else may re-suspend the device.
>
> Correct.
>
>> I have yet to ascertain how this ends up happening with device probe, it
>> seems to be very dependant on the code.
>
> We might be doing something wrong in the driver from a runtime PM point of
> view that leads to the device being suspended. I'd like to catch that instead
> of hiding it by a pm_runtime_get_sync() call. If it turns out that we're not
> doing anything wrong then replacing pm_runtime_resume() with
> pm_runtime_get_sync() would of course be fine.
My view is the pm_runtime)_resume() is just nasty, as it makes no
guarantees that the device cannot be re-suspended.
--
Ben Dooks http://www.codethink.co.uk/
Senior Engineer Codethink - Providing Genius
next prev parent reply other threads:[~2014-03-19 8:19 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-14 19:00 [PATCH] sh_eth: ensure pm_runtime cannot suspend the device during init Ben Dooks
2014-03-14 19:01 ` Ben Dooks
2014-03-14 19:06 ` Sergei Shtylyov
2014-03-14 19:19 ` Ben Dooks
2014-03-14 21:13 ` Sergei Shtylyov
2014-03-15 11:19 ` Laurent Pinchart
2014-03-17 9:22 ` Geert Uytterhoeven
2014-03-17 9:41 ` Ben Dooks
2014-03-17 11:20 ` Ben Dooks
2014-03-17 11:35 ` Laurent Pinchart
2014-03-17 11:37 ` Ben Dooks
2014-03-17 11:37 ` Ben Dooks
2014-03-17 13:01 ` Sergei Shtylyov
2014-03-17 13:01 ` Sergei Shtylyov
2014-03-17 13:07 ` Ben Dooks
2014-03-17 20:23 ` Laurent Pinchart
2014-03-17 20:23 ` Laurent Pinchart
2014-03-17 21:30 ` Sergei Shtylyov
2014-03-17 22:30 ` Sergei Shtylyov
2014-03-17 21:34 ` Laurent Pinchart
2014-03-17 21:34 ` Laurent Pinchart
2014-03-17 22:09 ` Sergei Shtylyov
2014-03-17 23:09 ` Sergei Shtylyov
2014-03-17 11:40 ` Ben Dooks
2014-03-17 11:53 ` Laurent Pinchart
2014-03-17 12:56 ` Ben Dooks
2014-03-17 13:27 ` Laurent Pinchart
2014-03-17 13:36 ` Ben Dooks
2014-03-17 13:38 ` Geert Uytterhoeven
2014-03-17 13:41 ` Laurent Pinchart
2014-03-17 13:43 ` Geert Uytterhoeven
2014-03-17 13:44 ` Ben Dooks
2014-03-17 13:54 ` Laurent Pinchart
2014-03-17 14:01 ` Ben Dooks
2014-03-17 14:02 ` Geert Uytterhoeven
2014-03-17 14:15 ` Sergei Shtylyov
2014-03-18 20:17 ` Sergei Shtylyov
2014-03-18 20:45 ` Laurent Pinchart
2014-03-18 21:48 ` Sergei Shtylyov
2014-03-19 8:19 ` Ben Dooks [this message]
2014-03-19 10:17 ` Laurent Pinchart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53295320.7090005@codethink.co.uk \
--to=ben.dooks@codethink.co.uk \
--cc=linux-sh@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.