Bug 11841

Summary: plenty of line "ACPI: EC: non-query interrupt received, switching to interrupt mode" in dmesg and system not powering down
Product: ACPI Reporter: François Valenduc (francoisvalenduc)
Component: ECAssignee: Alan Jenkins (alan-jenkins)
Status: CLOSED CODE_FIX    
Severity: high CC: acpi-bugzilla, alan-jenkins, nbigaouette, rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.28-rc1 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 11808    
Attachments: output of dmesg
Proposed fix

Description François Valenduc 2008-10-25 10:29:53 UTC
Latest working kernel version: 2.6.27
Earliest failing kernel version: 2.6.28-rc1
Distribution: Gentoo
Hardware Environment: ACER Travelmate 4000
Software Environment:
Problem Description:

Since the commit 7c6db4e050601f359081fde418ca6dc4fc2d0011 (ACPI: EC: do transaction from interrupt context") was merged into the mainline kernel, I see plenty of line "ACPI: EC: non-query interrupt received, switching to interrupt mode" in dmesg. I did a git-bisect run and it appears as the first bad commit.

Can somebody explain what's happening ? Thanks for your help.


Steps to reproduce:
Comment 1 François Valenduc 2008-10-25 10:30:23 UTC
Created attachment 18436 [details]
output of dmesg
Comment 2 Alan Jenkins 2008-10-26 03:41:24 UTC
Created attachment 18447 [details]
Proposed fix

The message itself should be harmless.  What's bad is that it suggests this "interrupt storm detection" codepath hasn't really been tested :(.

Try this patch, it should squelch the messages.
Comment 3 François Valenduc 2008-10-26 04:35:33 UTC
This patch indeed avoid getting a ton of such messages. Now, there is only one line in dmesg with this message.
Comment 4 ykzhao 2008-10-27 20:44:43 UTC
What Alan said in comment #2 is right. On this laptop the EC_FLAG_NO_GPE bit is not set. When EC interrupt storm is detected, the GPE_MODE is disabled while doing EC transaction. After the EC transaction is finished, the EC GPE is enabled again. When EC GPE interrup is triggered, it will be switched to interrupt mode again. 
So there exist a lot of the following messages.
   >ACPI: EC: non-query interrupt received, switching to interrupt mode
   
   Maybe it is appropriate that the EC_FLAG_NO_GPE flag bit is set when EC interrupt storm is detected. Of course I also agree with what Alan has done in commnt #2.
   thanks.
Comment 5 François Valenduc 2008-11-08 08:46:20 UTC
It seems this commit prevents my system to power down. I noticed when I installed kernel 2.6.27.5 where this patch is also applied now. Running a bisection between 2.6.27.4 and 2.6.27.5 shows that this is the first bad comming. If I revert all the ec related commits between 2.6.27.4 and 2.6.27.5, my computer powers down correctly.
Comment 6 Rafael J. Wysocki 2008-11-08 14:45:38 UTC
Handled-By : Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Patch : http://marc.info/?l=linux-acpi&m=122603281922125&w=4
Comment 7 François Valenduc 2008-11-08 23:38:13 UTC
This commit (ACPI: EC: do transaction from interrupt context") causes two problem on my computer. This is solved by applying one the patches made by Alan Jenkins. The other problem is that it prevents my computer to power down and this still happens after having applied the patches.
Comment 8 Alan Jenkins 2008-11-09 01:33:50 UTC
It's probably best to open another bug for the second problem.  I can't really help you with that one.
I'd also suggest posting on the acpi mailing list - others (than Alex and myself) may have more experience debugging machines which fail to power down.
Comment 9 François Valenduc 2008-11-09 02:05:29 UTC
So I mark this bug and I have opened another bug report (see #11994).
Comment 10 Len Brown 2008-11-12 21:32:32 UTC
pach shipped in 2.6.28-rc4-git3

closed.

commit f8248434e6a11d7cd314281be3b39bbcf82fc243
Author: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Date:   Sat Nov 1 11:05:26 2008 +0000

    ACPI: EC: make kernel messages more useful when GPE storm is detected
Comment 11 Giovanni Pellerano 2008-11-23 16:21:25 UTC
i continue to have this:

ACPI Exception (evregion-0419): AE_TIME, Returned by Handler for [EmbeddedControl] [20080926]  ACPI Error (psparse-0524): Method parse/execution failed [\_SB_.BAT0._STA] (Node f701be10), AE_TIME  ACPI Exception (battery-0309): AE_ERROR, Evaluating _STA [20080926]

it happens randomly using the laptop; and the acpi stops working

i'm using 2.6.28-rc5-git4
Comment 12 Giovanni Pellerano 2009-03-02 04:36:55 UTC
i continue to have this: 

ACPI: EC: missing confirmations, switch off interrupt mode.
ACPI Exception (evregion-0422): AE_TIME, Returned by Handler for [EmbeddedControl] [20081204]
ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.BAT0._BST] (Node f701be40), AE_TIME
ACPI Exception (battery-0382): AE_TIME, Evaluating _BST [20081204]

it happens randomly using the laptop; and the acpi stops working

i'm using 2.6.29-rc6-git4