On Wednesday 13 February 2008 04:23, Moritz Naumann wrote: > Len Brown schrieb: > > Please send me the output from acpidump. > > Please see the attached file. > > Invocation was: > # acpidump > acpidump_linux_`uname -r`.txt 2>&1 > > Note the "Wrong checksum for generic table!" message (which is why I > redirected stderr). Linux appears to be a special case in this BIOS. ISLI returns 1 for OSI(Linux), which causes GUSB to do nothing. (otherwise GUSB appears to touch SMM). GUSB is called at init time, and also at wakup time. Do you notice any difference in USB operation with acpi_osi=Linux? How about after resume from suspend? thanks, -Len Method (ISLI, 0, NotSerialized) { If (CondRefOf (_OSI, Local0)) { If (_OSI ("Linux")) { Return (One) ### hmmm, special case for Linux, every other OS returns Zero } Else { Return (Zero) } } Else { Return (Zero) } } Method (GUSB, 0, NotSerialized) { If (ISLI ()) # only invocation of ISLI { Return (Zero) # OSI(Linux) does nothing } Else { Return (SMI2 (0xBA)) # everybody else invokes SMM } } ... Method (SMI2, 1, NotSerialized) { Acquire (SMIM, 0xFFFF) Store (Arg0, SMIC) Store (MGIC, Local0) Store (SMIC, Local1) Store (SMID, Local0) ShiftLeft (Local0, 0x08, Local0) Add (Local1, Local0, Local0) Release (SMIM) Return (Local0) } .... Method (_WAK, 1, NotSerialized) { If (LEqual (Arg0, 0x04)) { # wakeup from hibernate GUSB () } Else { If (LEqual (Arg0, 0x03)) { # wakeup from suspend If (And (0x20, CMRD (0x49))) { GUSB () } } } ... Scope (_SB.PCI0) { Device (USB0) { Name (_ADR, 0x001D0000) Name (_UID, 0x05) Name (_PRW, Package (0x02) { 0x03, 0x03 }) OperationRegion (UPC1, PCI_Config, 0xC1, One) Field (UPC1, ByteAcc, NoLock, Preserve) { LEGK, 8 } Method (_INI, 0, NotSerialized) { If (HACK ()) {} Else { Store (LEGK, Local0) And (Local0, 0x60, Local0) Or (Local0, 0x20, Local0) Store (Local0, LEGK) } GUSB () } - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html