On 27 October 2016 at 13:41, Geert Uytterhoeven <ge...@linux-m68k.org> wrote:
> Hi Ulf,
>
> On Thu, Oct 27, 2016 at 1:23 PM, Ulf Hansson <ulf.hans...@linaro.org> wrote:
>> The smsc911c driver puts its device into low power state when entering
>> system suspend. Although it doesn't update the device's runtime PM status
>> to RPM_SUSPENDED, which causes problems for a parent device.
>>
>> In particular, when the runtime PM status of the parent is requested to be
>> updated to RPM_SUSPENDED, the runtime PM core prevent this, because it's
>> forbidden to runtime suspend a device, which has an active child.
>>
>> Fix this by updating the runtime PM status of the smsc911x device to
>> RPM_SUSPENDED during system suspend. In system resume, let's reverse that
>> action by runtime resuming the device and thus also the parent.
>
> Thanks for your patch!
>
> The changelog sounds quite innocent, but this does fix a system crash
> during resume from s2ram.
>
>> Signed-off-by: Ulf Hansson <ulf.hans...@linaro.org>
>> Tested-by: Geert Uytterhoeven <geert+rene...@glider.be>
>> Cc: Steve Glendinning <steve.glendinn...@shawell.net>
>> Fixes: 8b1107b85efd ("PM / Runtime: Don't allow to suspend a device with an 
>> active child")
>
> While the abovementioned commit made the problem visible, the root cause
> was present before, right?

Yes.

>
>> ---
>>
>> Note that the commit this change fixes is currently queued for 4.10 via
>> Rafael's linux-pm tree. So this fix should go via that tree as well.
>
> Alternatively, this could go in in v4.9 to avoid the problem from ever
> appearing in upstream?

Makes perfect sense! In that case we should remove the fixes tag.

Rafael, can you pick this up for 4.9 rc[n]?

Kind regards
Uffe

Reply via email to