Re: [PATCH] net: smsc911x: Synchronize the runtime PM status during system suspend
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2016-10-27 11:41:14
Also in:
netdev
Hi Ulf, On Thu, Oct 27, 2016 at 1:23 PM, Ulf Hansson [off-list ref] 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 <redacted>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Steve Glendinning <steve.glendinning@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?
--- 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?
Gr{oetje,eeting}s,
Geert