*** dsdt-i8500-a06-patched.dsl.orig     Fri Jun 16 15:13:59 2006
--- dsdt-i8500-a06-patched.dsl  Fri Jun 16 15:30:11 2006
***************
*** 136,144 ****
         Increment(Local0)
     }
 }
! Method(SXX8, 2) {
!     If(LLess(Arg1, SizeOf(Arg0))) {
!         CreateByteField(Arg0, Arg1, SX20)
         Store(SXX6(0x7d, 0x0), SX20)
     }
 }
--- 136,144 ----
         Increment(Local0)
     }
 }
! Method(SXX8, 1) {
!     If(LLess(Arg0, SizeOf(SXX0))) {
!         CreateByteField(SXX0, Arg0, SX20)
         Store(SXX6(0x7d, 0x0), SX20)
     }
 }
***************
*** 146,152 ****
     Store(0x0, Local0)
     While(LLess(Local0, SXX3)) {
         Add(SXX2, Local0, Local1)
!         SXX8(SXX0, Local1)
         Increment(Local0)
     }
 }
--- 146,152 ----
     Store(0x0, Local0)
     While(LLess(Local0, SXX3)) {
         Add(SXX2, Local0, Local1)
!         SXX8(Local1)
         Increment(Local0)
     }
 }
***************
*** 191,214 ****
     }
     Return(0x0)
 }
! Method(SX43, 2) {
!     If(LLess(Arg1, SizeOf(Arg0))) {
!         CreateByteField(Arg0, Arg1, SX20)
!         Store(SX40(), SX20)
!     }
! }
! Method(SX44, 2) {
     Store(0x0, Local0)
!     While(LLess(Local0, Arg1)) {
!         SX43(Arg0, Local0)
         Increment(Local0)
     }
 }
 Method(SX45) {
!     Store(SX40(), Local0)
!     Name(SX23, Buffer(Local0) { })
!     SX44(SX23, Local0)
!     Return(SX23)
 }
 Method(SX12) {
     Release(SMIX)
--- 191,211 ----
     }
     Return(0x0)
 }
! Method(SX44, 1) {
!     Name (SX23, Buffer (Arg0) {})
     Store(0x0, Local0)
!     While(LLess(Local0, Arg0)) {
!         If (LLess (Local0, SizeOf (SX23)))
!         {
!             CreateByteField (SX23, Local0, SX20)
!             Store (SX40 (), SX20)
!         }
         Increment(Local0)
     }
+     Return (SX23)
 }
 Method(SX45) {
!     Return (SX44 (SX40 ()))
 }
 Method(SX12) {
     Release(SMIX)
***************
*** 237,246 ****
     SX30(0x0)
     SX30(Arg0)
     SX11()
!     Name(PGET, Buffer(SXX3) { })
!     SX44(PGET, SXX3)
     SX12()
!     Return(PGET)
 }
 Method(PNPS, 2) {
     SX10()
--- 234,242 ----
     SX30(0x0)
     SX30(Arg0)
     SX11()
!     Store (SX44 (SXX3), Local0)
     SX12()
!     Return (Local0)
 }
 Method(PNPS, 2) {
     SX10()
***************
*** 312,319 ****
     If(LEqual(MIS3, 0x0)) {
         Store(0x1, MIS3)
         If(CondRefOf(\_OSI, Local0)) {
!             If(\_OSI) {
!                 WXP_
                 Store(0x10, MIS3)
             }
         }
--- 308,314 ----
     If(LEqual(MIS3, 0x0)) {
         Store(0x1, MIS3)
         If(CondRefOf(\_OSI, Local0)) {
!             If(\_OSI (WXP)) {
                 Store(0x10, MIS3)
             }
         }
***************
*** 502,507 ****
--- 497,503 ----
     }
     Store(Local0, MIS2)
     SMI_(0xa6, 0x0)
+     Return (MIS2)
 }
 Method(NWAK) {
     Store(0x1, WAKE)