Re: PM regression in next

From: Lars-Peter Clausen
Date: Fri Jan 12 2018 - 08:01:40 EST


On 01/12/2018 01:30 PM, Rafael J. Wysocki wrote:
> 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@xxxxxxxxxxx> [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.


I guess it this: https://patchwork.kernel.org/patch/10151763/