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