http://bugzilla.kernel.org/show_bug.cgi?id=9528
------- Comment #69 from [EMAIL PROTECTED] 2008-01-08 12:39 ------- Carlos, please # echo USB0 > /proc/acpi/wakeup # echo USB2 > /proc/acpi/wakeup see if those lines in the wakeup file change to "enabled" from "disabled" and see if that has any effect on the hang. The AML for both of these devices tell us that the OS should limit how deep a D-state is used for them during system S3. Though, technically, this should be independent of wakeup capability, we'll have to check if Linux is that smart... Yes, the system can suspend USB independent of an S3 request. What the ASL below shows is that in the case of USB2, if it is in D3 at the S3 request, Linux should move it to D1 before entering S3. Also, does the same driver bind to both of these USB devices? USB0 S3 disabled pci:0000:00:02.0 USB2 S3 disabled pci:0000:00:02.1 Device (USB0) { Name (_ADR, 0x00020000) Method (_S1D, 0, NotSerialized) { Return (0x01) } Method (_S3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) # must not go below D2 in S3 # I think this is Windows ME only case } Else { Return (0x03) # okay to go to D3 in S3 # I think this non WinME case } } # no _PSW in USB0, so it should be enabled as a wake device always Name (_PRW, Package (0x02) { 0x0D, 0x03 # wakeup supported in S3 }) } Device (USB2) { Name (_ADR, 0x00020001) OperationRegion (P020, PCI_Config, 0x49, 0x01) Field (P020, AnyAcc, NoLock, Preserve) { U0WK, 1 } Method (_PSW, 1, NotSerialized) { # _PSW should let Linux enable or disable wake capability of USB2 If (Arg0) { Store (0x01, U0WK) } Else { Store (0x00, U0WK) } } Method (_S1D, 0, NotSerialized) { Return (0x01) } Method (_S3D, 0, NotSerialized) { Return (0x01) # USB2 should never be put below D1 when system enters S3 # (this could be qualified by an _S3W, but this device has none, # so no matter if USB2 is a wake device or not, Linux should # never put it deeper than D1 when entering S3 } Name (_PRW, Package (0x02) { 0x05, 0x03 # GPE 5 wakes the system from this device as deep as S3 }) } re: OSFL... Name (OSFL, 0x01) # default is 1 If (STRC (\_OS, "Microsoft Windows")) { Store (0x56, SMIP) # windows 98 comes here, so it gets OSFL=1 } Else { If (STRC (\_OS, "Microsoft Windows NT")) { #everything NT and later comes here If (CondRefOf (\_OSI, Local0)) { If (\_OSI ("Windows 2001")) { Store (0x59, SMIP) Store (0x00, OSFL) # WinXP and later: OSFL=0 Store (0x03, OSFX) } } Else { Store (0x58, SMIP) Store (0x00, OSFX) Store (0x00, OSFL) # Windows NT: OSFL=0 } } Else { Store (0x57, SMIP) Store (0x02, OSFX) # Not NT. not Win98, I guess Windows ME? comes here: OSFL=2 Store (0x02, OSFL) } } -- Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ acpi-bugzilla mailing list acpi-bugzilla@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla