Bug 43641

Summary: Resume failed after s2ram on HP nx6325
Product: ACPI Reporter: Adrian Knoth (adi)
Component: Power-Sleep-WakeAssignee: Len Brown (lenb)
Status: CLOSED PATCH_ALREADY_AVAILABLE    
Severity: normal CC: acpi-bugzilla, jrnieder, mail, Robert.Moore
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.4 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 7216, 44321    
Attachments: dmidecode
acpidump
Kernel config
Late (runtime) dmesg output (complete)
Early boot dmesg output
Late dmesg output w/ suspend/resume cycle
lscpi -v
/proc/cpuinfo
ACPICA: do not disable bus master arbitration when entering suspend
patch from Jonathan and updated by Bob

Description Adrian Knoth 2012-06-21 14:37:44 UTC
Created attachment 73931 [details]
dmidecode

>> 3.4 is the first kernel that prevents my HP nx6325 laptop from resuming
>> after suspend-to-RAM. This holds true for 3.4.x as well (tested with x
>> in 1,2,3).
>>
>> The fans turn up, but the screen remains dark, network is also still
>> down, so I don't see any messages.
>>
>>    echo {freezer,devices,platform,processors,core} > /sys/power/pm_test
>>
>> all work, but if I say "none" and call s2ram, the machine shows the
>> said symptoms.

3.3.x is known to work, 3.4-rc7 which is broken, too, and so is 3.5-rc3.

Here is what git bisect says:

2feec47d4c5f80b05f1650f5a24865718978eea4 is the first bad commit
commit 2feec47d4c5f80b05f1650f5a24865718978eea4
Author: Bob Moore <robert.moore@intel.com>
Date:   Tue Feb 14 15:00:53 2012 +0800

    ACPICA: ACPI 5: Support for new FADT SleepStatus, SleepControl
registers
    
    Adds sleep and wake support for systems with these registers.
    One new file, hwxfsleep.c
    
    Signed-off-by: Bob Moore <robert.moore@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>

:040000 040000 7c03f527f8b4a0e10bb3afe68477c17e84bac9ae
a912e19c255c1c0d392e6c360920a824df1f8ee2 M      drivers
:040000 040000 3282681eceeaf1361539ef439dfc0791051c0b36
d853e5362d6731cf28792b2dd907e4c88211a4aa M      include

I'll attach the acpidump output in a second.
Comment 1 Adrian Knoth 2012-06-21 14:38:05 UTC
Created attachment 73941 [details]
acpidump
Comment 2 Adrian Knoth 2012-06-21 14:42:58 UTC
Created attachment 73951 [details]
Kernel config
Comment 3 Adrian Knoth 2012-06-21 15:22:47 UTC
Created attachment 73961 [details]
Late (runtime) dmesg output (complete)
Comment 4 Adrian Knoth 2012-06-21 15:24:41 UTC
Created attachment 73971 [details]
Early boot dmesg output
Comment 5 Adrian Knoth 2012-06-21 15:25:19 UTC
Created attachment 73981 [details]
Late dmesg output w/ suspend/resume cycle
Comment 6 Robert Moore 2012-06-21 16:01:59 UTC
I don't see anything unusual about the FADT. It is a version 4 FADT which means that the extended sleep registers (SleepStatus, SleepControl) are not supported and the legacy mechanism (SLP_TYP, SLP_EN) in the PM control register is used.

Certainly, this legacy mechanism is known to work properly as far as ACPICA is concerned. This doesn't mean that there isn't a subtle bug somewhere, of course.

However, I think this problem requires some help from an sleep/resume expert in order to debug it.
Comment 7 Len Brown 2012-06-26 02:25:21 UTC
I was unable to reproduce this failure on my NX6325
are there specific steps to follow that reliably
reproduce this issue, or is the issue intermittent?
Comment 8 Adrian Knoth 2012-06-26 06:20:09 UTC
For me, the issue is 100% reproducible: boot, suspend, try to resume -> freeze.

If it's a config thing, then at least the kernel config about should reliably trigger the problem, but I doubt it is.

I'm going to attach the lspci -v and /proc/cpuinfo output, so you can see how much my NX6325 differs from yours.
Comment 9 Adrian Knoth 2012-06-26 06:20:48 UTC
Created attachment 74291 [details]
lscpi -v
Comment 10 Adrian Knoth 2012-06-26 06:21:09 UTC
Created attachment 74301 [details]
/proc/cpuinfo
Comment 11 Jonathan Nieder 2012-07-08 18:07:20 UTC
Created attachment 75051 [details]
ACPICA: do not disable bus master arbitration when entering suspend

Please test the attached patch.

Context: http://thread.gmane.org/gmane.linux.acpi.devel/54030
Comment 12 Lin Ming 2012-07-10 05:25:59 UTC
Created attachment 75161 [details]
patch from Jonathan and updated by Bob
Comment 13 Jonathan Nieder 2012-07-10 05:33:02 UTC
Lin Ming wrote:

> Created an attachment (id=75161)
>  --> (https://bugzilla.kernel.org/attachment.cgi?id=75161)
> patch from Jonathan and updated by Bob

Thanks.  The new commit message is worse in almost every way than the
original:

 - the shortlog line focuses on removal of code instead of the effect
   of that removal of code

 - it does not explain the context and how we know that this will work
   and will not cause a regression

 - it does not mention that this fixes a regression

 - it does not mention which commit introduced the regression, so
   distro maintainers will have more trouble seeing whether they need
   the patch

 - it does not cc: stable@
Comment 14 Adrian Knoth 2012-07-10 13:58:47 UTC
Patch from #11 tested and confirmed to be working.
Comment 15 Jonathan Nieder 2012-07-10 14:42:13 UTC
Thanks!

By the way, my reaction above to that new commit message is only in
the context of the Linux kernel.  acpica upstream may have different
conventions, and that's totally fine --- there my only complaint is
that it doesn't give direct or indirect credit to the bug reporters
by naming them or linking to acpica bugzilla.
Comment 16 Len Brown 2012-07-14 14:39:01 UTC
shipped upstream just after linux-3.5-rc6

is also present in 3.4-stable review.

closed.


commit dc332fdf9f373a87b1e2f423b5b004b2a3c37e1a
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Sun Jul 8 21:55:14 2012 +0200

    ACPI / PM: Leave Bus Master Arbitration enabled for suspend/resume
Comment 17 Len Brown 2012-07-17 02:06:48 UTC
*** Bug 44311 has been marked as a duplicate of this bug. ***