*** 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)