Bug 13449

Summary: Battery disappears after suspend/resume on HP laptop.
Product: ACPI Reporter: Gustavo Vieira (gustavo)
Component: Power-Sleep-WakeAssignee: acpi_power-sleep-wake
Status: CLOSED CODE_FIX    
Severity: normal CC: alebetco, astarikovskiy, lenb, rui.zhang, yakui.zhao
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 2.6.30.8 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: dmesg after suspend/resume
Kernel config
acpidump output
dmesg after suspend/resume with debug on
acpidump output before suspend
acpidump output after resume
[PATCH 1/1] ACPI: add DMI entry for SCI_EN resume quirk on HP dv4

Description Gustavo Vieira 2009-06-04 01:51:23 UTC
Created attachment 21740 [details]
dmesg after suspend/resume

My HP Pavilion dv4-1125br suspends and resumes correctly. However, the battery information provided by ACPI disappears.  Before suspend I can get battery information in /proc/acpi/battery/BAT0/state. After the suspend/resume, BAT0/state shows not present.

This is a fairly recent laptop, and this problem is present in Fedora kernels as early as 2.6.27. I've found bug reports of this issue for Ubunto and Arch Linux, so I don't believe it is Fedora specific.
Comment 1 Alexey Starikovskiy 2009-06-04 17:54:31 UTC
please attach kernel config.
Comment 2 Gustavo Vieira 2009-06-04 18:05:03 UTC
Created attachment 21752 [details]
Kernel config
Comment 3 Alexey Starikovskiy 2009-06-04 18:24:43 UTC
Please provide acpidump output.
Please recompile kernel with '#define DEBUG' uncommented in drivers/acpi/ec.c and attach output of dmesg.
Comment 4 Gustavo Vieira 2009-06-04 18:58:58 UTC
Created attachment 21754 [details]
acpidump output
Comment 5 Gustavo Vieira 2009-06-05 00:36:25 UTC
Created attachment 21757 [details]
dmesg after suspend/resume with debug on
Comment 6 Alexey Starikovskiy 2009-06-05 06:15:20 UTC
hm, it looks like EC tries to send something to HP_WMI driver, do you have it loaded after resume?
Please add some printk() to hp_wmi_notify() in drivers/platform/hp-wmi.c
Comment 7 Gustavo Vieira 2009-06-05 16:06:24 UTC
(In reply to comment #6)
> hm, it looks like EC tries to send something to HP_WMI driver, do you have it
> loaded after resume?

The hp-wmi driver isn't loaded before suspend or after resume. Only the wmi is present in both situations.

> Please add some printk() to hp_wmi_notify() in drivers/platform/hp-wmi.c

Done. The hp_wmi_notify() function is never called.
Comment 8 ykzhao 2009-07-06 03:05:31 UTC
Hi, Gustavo
    Will you please attach the following output before and after suspend/resume?
    acpidump --addr 0xBBBBEED4 --length 0x000000CF -o nvst

    Thanks.
Comment 9 Gustavo Vieira 2009-07-06 18:57:54 UTC
Created attachment 22239 [details]
acpidump output before suspend
Comment 10 Gustavo Vieira 2009-07-06 18:58:34 UTC
Created attachment 22240 [details]
acpidump output after resume
Comment 11 Gustavo Vieira 2009-07-06 18:59:32 UTC
(In reply to comment #8)
> Hi, Gustavo
>     Will you please attach the following output before and after
> suspend/resume?
>     acpidump --addr 0xBBBBEED4 --length 0x000000CF -o nvst

Done.
Comment 12 Gustavo Vieira 2009-10-19 12:07:54 UTC
Created attachment 23467 [details]
[PATCH 1/1] ACPI: add DMI entry for SCI_EN resume quirk on HP dv4

This is the same issue as bug# 13745 but on different hardware. The fix is similar. Also, this makes it a regression.

I'm attaching a patch that I have tested on my system (2.6.30.8 and 2.6.32-rc5) and solves the bug.
Comment 13 Gustavo Vieira 2009-10-19 12:13:59 UTC
Alexey, can you reassign this to "Power-Sleep-Wake"? Thanks.
Comment 14 Zhang Rui 2009-10-22 03:45:23 UTC
I think we've already have a patch (comment #12) for this issue, right?
please re-open it if I'm wrong.
Comment 15 Gustavo Vieira 2009-10-22 10:28:21 UTC
Yes and no. :)

We have a patch, but it isn't applied in any tree. I just created it and attached to this bugzilla. I assumed it would be picked up. Who should I tell about it?
Comment 16 Alexey Starikovskiy 2009-10-22 12:42:56 UTC
Gustavo,
If you have a patch, which solves a bug, this bug should be marked RESOLVED/CODE_FIX. This is a clue for Len Brown (maintainer of whole Linux ACPI thing) to pick it up and send to Linus for inclusion into the next kernel.
I'm switching RESOLVED/CODE_FIX now, so this is now up to Len to pick it up.
Comment 17 alebetco 2009-11-01 04:25:38 UTC
i have  the same problem with compaq presario laptop:

Vendor: Hewlett-Packard
Product Name: Compaq Presario CQ40 Notebook PC
Comment 18 Len Brown 2009-11-06 04:05:19 UTC
patch in comment #12 applied to acpi tree
Comment 19 Len Brown 2009-11-23 16:41:14 UTC
drivers/acpi/sleep.c DMI for dv4 and CQ40 shipped in Linux 2.6.32-rc7

closed.

more activity on this topic is in bug 13745