Bug 11810
Summary: | ACPI errors just after resuming from s2disk | ||
---|---|---|---|
Product: | ACPI | Reporter: | Dmitry Nezhevenko (dion) |
Component: | ACPICA-Core | Assignee: | Alexey Starikovskiy (astarikovskiy) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | acpi-bugzilla, astarikovskiy |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.27 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
Clean 2.6.27.2 boot dmesg
dmesg just after this issue is happens acpidump output revert msleep() |
Description
Dmitry Nezhevenko
2008-10-23 00:13:48 UTC
Created attachment 18411 [details]
Clean 2.6.27.2 boot dmesg
Created attachment 18412 [details]
dmesg just after this issue is happens
Hi, Dmitry Will you please attach the output of acpidump? Thanks. Created attachment 18422 [details]
acpidump output
Attaching...
Will you please confirm whether early version kernel can work well ? If so, you are appreciated to identify which is OK. From the problem description it seems that the EC problem occurs when accessing the info of the battery. (_BST object of the battery). Before the EC internal register is accessed, OS will check the IBF bit of status register. Unfortunately the EC status register is not what OS expected, so it will report the following info. >ACPI: EC: acpi_ec_wait timeout, status = 0x1a, event = "b1=0" Thanks. There were no such problems with kernels <= 2.6.25.x. At least I don't remember them. I own this laptop since times of 2.6.23-rc, so I think that 2.6.23-2.6.25 are good. As I said, issue is difficult to reproduce, since it happens sometimemes (rarely enough). 2.6.27 release works usually too. For example I can do 5, 10 or even 20 hibernate -> resume cycles without such problems. It just happens sometimes. Alexey suggested to replace msleep(1) with udelay(50) in drivers/acpi/ec.c (there is only one place to change). I've done it. And now I got ~15-18 successful hibernate->resume cycles without any problems. msleep(1) was introduced by followed commit (according to git annotate): commit 1b7fc5aae8867046f8d3d45808309d5b7f2e036a Author: Alexey Starikovskiy <astarikovskiy@suse.de> Date: Fri Jun 6 11:49:33 2008 -0400 ACPI: EC: Use msleep instead of udelay while waiting for event. http://bugzilla.kernel.org/show_bug.cgi?id=10724 Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Len Brown <len.brown@intel.com> I'm still using 2.6.27 kernel with msleep(1) replaced to udelay(50). (So specified commit is reverted). Looks like such kernel is stable.. So I think that this commit is cause of regression. Created attachment 18475 [details]
revert msleep()
Here is the revert patch.
patch in comment #8 is in the acpi tree shipped in 2.6.28-rc4-git3 closed. commit 1cfe62c8010ac56e1bd3827e30386a87cc2f3594 Author: Alexey Starikovskiy <astarikovskiy@suse.de> Date: Tue Oct 28 00:35:30 2008 +0300 ACPI: EC: revert msleep patch |