Bug 13965

Summary: _DIS Interrupt Links prevents power button events -- MSI-6167
Product: ACPI Reporter: Ryan Underwood (nemesis)
Component: Config-InterruptsAssignee: Zhang Rui (rui.zhang)
Status: CLOSED UNREPRODUCIBLE    
Severity: normal CC: acpi-bugzilla, lenb, rui.zhang
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.30 Subsystem:
Regression: Yes Bisected commit-id:

Description Ryan Underwood 2009-08-11 21:35:56 UTC
Reopening bug 6117
http://bugzilla.kernel.org/show_bug.cgi?id=6117

Most recent kernel where this bug did not occur: 2.4.27-pre6
Distribution: Debian
Hardware Environment: MSI MS-6167 latest BIOS
Software Environment: 
Problem Description:
This change to drivers/acpi/pci_link.c from 2.4.27-pre6 to -rc1 broke the ACPI 
button:
@@ -698,6 +679,9 @@
 	acpi_link.count++;
 
 end:
+	/* disable all links -- to be activated on use */
+	acpi_ut_evaluate_object(link->handle, "_DIS", 0, NULL);
+
 	if (result)
 		kfree(link);

Steps to reproduce:
Build 2.4.27-rc1 without these lines, ACPI button works
build with these lines, ACPI button does not generate IRQ or events.

The DSDT is posted on sourceforge.
Comment 1 Zhang Rui 2009-08-12 07:11:08 UTC
does the problem still exist in the latest upstream kernel?
If yes, does the problem go away if you comment this line?
Comment 2 Ryan Underwood 2009-08-13 22:27:06 UTC
Actually, it works with latest upstream and with 2.6.30.  The funny part was that I was using an old acpid that was attempting to use /proc/acpi/event and failing silently when it was not available.  After noticing that the ACPI button was in fact generating interrupts correctly, I upgraded the acpid and now the system powers off correctly.  Closing bug, thanks!