PM regression in next

Rafael J. Wysocki rjw at rjwysocki.net
Fri Jan 12 04:30:32 PST 2018


On Friday, January 12, 2018 1:23:54 PM CET Rafael J. Wysocki wrote:
> On Friday, January 12, 2018 2:32:57 AM CET Tony Lindgren wrote:
> > * Tony Lindgren <tony at atomide.com> [180111 17:20]:
> > > Well I tried to measure suspend power consumption and noticed
> > > that system suspend fails too hand hangs the network device:
> > > 
> > > # echo mem > /sys/power/state
> > > [   32.577850] PM: suspend entry (deep)
> > > [   32.582031] PM: Syncing filesystems ... done.
> > > [   32.598083] Freezing user space processes ... (elapsed 0.002 seconds) done.
> > > [   32.608398] OOM killer disabled.
> > > [   32.611846] Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done.
> > > [   32.622192] Suspending console(s) (use no_console_suspend to debug)
> > > [   32.651123] dpm_run_callback(): mdio_bus_suspend+0x0/0x24 returns 4352
> > > [   32.651428] PM: Device 2c000000.ethernet-ffffffff:01 failed to suspend: error 4352
> 
> This looks totally bogus.
> 
> First, "error" should be a negative number and we print it as int.
> 
> Second, error codes are not in this range anyway.
> 
> > > [   32.653289] PM: Some devices failed to suspend, or early wake event detected
> > > [   32.685455] OOM killer enabled.
> > > [   32.688629] Restarting tasks ... done.
> > > [   32.695983] PM: suspend exit
> > > ash: write error: Bad address
> > > 
> > > That too works just fine at commit 70286688e5ad.
> > 
> > Suspend fails at commit e2d7fe89e8ae though, so looks like we
> > have two separate issues. I'll try to bisect that separately.

I guess what may happen is that something started to return positive numbers
which confuse things all over when passed along by its callers as error codes.

Thanks,
Rafael






More information about the linux-arm-kernel mailing list