DSDT Problems with 2.6.6-rc3
Hello all--
I just downloaded and installed kernel 2.6.6-rc3 from kernel.org. I patched it with the "dsdt-initrd" patch and set the initrd to a custom DSDT for my hardware (a Dell Inspiron 300m notebook). This produced several errors from the ACPI system on bootup, whereas in 2.6.5 this didn't happen (no errors/warnings on bootup). The errors are at the bottom of the message. The DSDT is attached. I have verified that the custom DSDT is loading (bootup message says so). What has changed in the ACPI code from 2.6.5 to 2.6.6-rc3 that might be causing my problems? Does anyone have any suggestions that might save me from re-hacking the DSDT? Thanks.
--
Andrew Barr
/usr/games/fortune says:
The electricity substation in the car park blew up.
ACPI errors are as follows:
ACPI-0347: *** Error: Handler for [EmbeddedControl] returned AE_BAD_PARAMETER
ACPI-1133: *** Error: Method execution failed [\_SB_.PCI0.LPCB.H_EC._REG] (Node cf5ca57c), AE_BAD_PARAMETER
ACPI-0347: *** Error: Handler for [EmbeddedControl] returned AE_BAD_PARAMETER
ACPI-1133: *** Error: Method execution failed [\_SB_.ADP1._PSR] (Node cf5d0ddc), AE_BAD_PARAMETER
ACPI-0347: *** Error: Handler for [EmbeddedControl] returned AE_BAD_PARAMETER
ACPI-1133: *** Error: Method execution failed [\_SB_.BAT1._STA] (Node cf5d0c9c), AE_AML_NO_RETURN_VALUE
ACPI-0347: *** Error: Handler for [EmbeddedControl] returned AE_BAD_PARAMETER
ACPI-1133: *** Error: Method execution failed [\_SB_.BAT2._STA] (Node cf5d0b7c), AE_AML_NO_RETURN_VALUE
ACPI-0347: *** Error: Handler for [EmbeddedControl] returned AE_BAD_PARAMETER
ACPI-1133: *** Error: Method execution failed [\_TZ_.THRM._TMP] (Node cf5d057c), AE_AML_NO_RETURN_VALUE
ACPI-0347: *** Error: Handler for [EmbeddedControl] returned AE_BAD_PARAMETER
ACPI-1133: *** Error: Method execution failed [\_SB_.LID0._LID] (Node cf5d0a9c), AE_AML_NO_RETURN_VALUE
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/1 Alexander Malysh's forgotten acpi_leave_sleep_state() IRQ patch
Quoted 4 lines · Alexander Malysh
We disable non wakeup gpes (and store those values) with interrupts disabled, but enable those with interrupts enabled which were already overwritten while handling of wakeup interrupt. So we must restore non wakeup gpes as long interrupts are disabled.
The second half of his patch never made it into 2.6.5, and remains necessary. Without this patch my N258SA0 is dead on resume, requiring removal of battery and mains power cable to get it back. With this patch, I get some improvement. Attached.
Signature · 1 line
Huw Rogers <count0-tC47gz4GrgtWk0Htik3J/[email protected]>
drivers/acpi/sleep/main.c renamed from drivers/acpi/sleep/main.c.orig +2 -3
@@ -107,7 +107,6 @@default :return -EINVAL ; } -local_irq_restore (flags);printk (KERN_DEBUG "Back to C!\n" );/* restore processor state
@@ -118,6 +117,8 @@if (state >PM_SUSPEND_STANDBY )acpi_restore_state_mem (); +acpi_leave_sleep_state (state); +local_irq_restore (flags);return ACPI_SUCCESS (status) ?0 : -EFAULT ; }
@@ -133,8 +134,6 @@static int acpi_pm_finish (u32 state) { -acpi_leave_sleep_state (state); -/* reset firmware waking vector */ acpi_set_firmware_waking_vector ((acpi_physical_address )0 );