--- dsdt.dsl	2013-05-13 03:05:59.571015599 +0200
+++ dsdt_patched.dsl	2013-05-13 02:57:35.394388496 +0200
@@ -2,8 +2,39 @@
  * Intel ACPI Component Architecture
  * AML Disassembler version 20100528
  *
- * Disassembly of dsdt.dat, Mon May 13 03:05:59 2013
- *
+ * Disassembly of dsdt.dat, Sat May 11 16:30:31 2013
+ *--------------------------------------------------
+ * PATCHED by C. Albrecht
+ * WARNING: To be used completely on your own risk in all respects!
+ * firmware extracted from:
+ *    notebook:       TERRA MOBILE INDUSTRY 1580
+ *                    similar to DURABOOK S15C (?)
+ *    vendor:         Wortmann AG
+ *    manufacturer:   Twinhead Int. Corp. (?)
+ * note:
+ *    besides minor corrections to the code's syntax to properly compile
+ *    with iasl (Intel), e.g. renaming variables T_<n> and changing
+ *    some mutexes' SyncLevel-value,
+ *    the main issue was: 
+ *       -booting Lubuntu (kernel 3.2.0-41-generic-pae) the ACPI driver
+ *        was not able to parse the routine \_SB_.PCI0.SBRG.EC0_._REG declared
+ *        within the embeded controller device "EC0" (see code below)
+ *       -since "EC0" is used by e.g. the devices "AC" (external power supply) and 
+ *        "BAT1" (battery), there was no battery status available after booting
+ *       -moreover, LCD backlight was not adjustable via the Fn-keys
+ *        ('xbacklight -set <percent>' did the job directly through the Intel graphics driver)
+ *    solution:
+ *       -the method "_REG" in device "EC0" uses an internal variable "ONCE"
+ *        which is  l o c a l l y  defined within an if-statement,
+ *        therefore it was not declared within the "EC0" scope
+ *       -the patch simply removes the if-clause around the definition of the variable "ONCE"
+ *        (this should be save since "ONCE" is only used when the variable "HM55" is equal to "One")     
+ *    it remains:
+ *       -the firmware written here does not include a "_BQC" method to determine
+ *        the brightness (claimed by the Linux ACPI-driver)
+ *       -although the kernel throws a "Firmware Bug", it does not seem to affect
+ *        adjusting the backlight via Fn-keys 
+ *                           
  *
  * Original Table Header:
  *     Signature        "DSDT"
@@ -1685,57 +1716,57 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
 
                 Method (RRIO, 4, NotSerialized)
                 {
-                    Name (_T_0, Zero)
-                    Store (Arg0, _T_0)
-                    If (LEqual (_T_0, Zero))
+                    Name (T_0, Zero)
+                    Store (Arg0, T_0)
+                    If (LEqual (T_0, Zero))
                     {
                         If (Arg1)
                         {
-                            Name (_T_1, Zero)
-                            Store (Arg2, _T_1)
-                            If (LEqual (_T_1, 0x03E8))
+                            Name (T_1, Zero)
+                            Store (Arg2, T_1)
+                            If (LEqual (T_1, 0x03E8))
                             {
                                 Store (0x07, CADR)
                             }
                             Else
                             {
-                                If (LEqual (_T_1, 0x0338))
+                                If (LEqual (T_1, 0x0338))
                                 {
                                     Store (0x06, CADR)
                                 }
                                 Else
                                 {
-                                    If (LEqual (_T_1, 0x02E8))
+                                    If (LEqual (T_1, 0x02E8))
                                     {
                                         Store (0x05, CADR)
                                     }
                                     Else
                                     {
-                                        If (LEqual (_T_1, 0x0238))
+                                        If (LEqual (T_1, 0x0238))
                                         {
                                             Store (0x04, CADR)
                                         }
                                         Else
                                         {
-                                            If (LEqual (_T_1, 0x0228))
+                                            If (LEqual (T_1, 0x0228))
                                             {
                                                 Store (0x03, CADR)
                                             }
                                             Else
                                             {
-                                                If (LEqual (_T_1, 0x0220))
+                                                If (LEqual (T_1, 0x0220))
                                                 {
                                                     Store (0x02, CADR)
                                                 }
                                                 Else
                                                 {
-                                                    If (LEqual (_T_1, 0x02F8))
+                                                    If (LEqual (T_1, 0x02F8))
                                                     {
                                                         Store (One, CADR)
                                                     }
                                                     Else
                                                     {
-                                                        If (LEqual (_T_1, 0x03F8))
+                                                        If (LEqual (T_1, 0x03F8))
                                                         {
                                                             Store (Zero, CADR)
                                                         }
@@ -1756,55 +1787,55 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                     }
                     Else
                     {
-                        If (LEqual (_T_0, One))
+                        If (LEqual (T_0, One))
                         {
                             If (Arg1)
                             {
-                                Name (_T_2, Zero)
-                                Store (Arg2, _T_2)
-                                If (LEqual (_T_2, 0x03E8))
+                                Name (T_2, Zero)
+                                Store (Arg2, T_2)
+                                If (LEqual (T_2, 0x03E8))
                                 {
                                     Store (0x07, CBDR)
                                 }
                                 Else
                                 {
-                                    If (LEqual (_T_2, 0x0338))
+                                    If (LEqual (T_2, 0x0338))
                                     {
                                         Store (0x06, CBDR)
                                     }
                                     Else
                                     {
-                                        If (LEqual (_T_2, 0x02E8))
+                                        If (LEqual (T_2, 0x02E8))
                                         {
                                             Store (0x05, CBDR)
                                         }
                                         Else
                                         {
-                                            If (LEqual (_T_2, 0x0238))
+                                            If (LEqual (T_2, 0x0238))
                                             {
                                                 Store (0x04, CBDR)
                                             }
                                             Else
                                             {
-                                                If (LEqual (_T_2, 0x0228))
+                                                If (LEqual (T_2, 0x0228))
                                                 {
                                                     Store (0x03, CBDR)
                                                 }
                                                 Else
                                                 {
-                                                    If (LEqual (_T_2, 0x0220))
+                                                    If (LEqual (T_2, 0x0220))
                                                     {
                                                         Store (0x02, CBDR)
                                                     }
                                                     Else
                                                     {
-                                                        If (LEqual (_T_2, 0x02F8))
+                                                        If (LEqual (T_2, 0x02F8))
                                                         {
                                                             Store (One, CBDR)
                                                         }
                                                         Else
                                                         {
-                                                            If (LEqual (_T_2, 0x03F8))
+                                                            If (LEqual (T_2, 0x03F8))
                                                             {
                                                                 Store (Zero, CBDR)
                                                             }
@@ -1825,17 +1856,17 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                         }
                         Else
                         {
-                            If (LEqual (_T_0, 0x02))
+                            If (LEqual (T_0, 0x02))
                             {
                                 If (Arg1)
                                 {
-                                    Name (_T_3, Zero)
-                                    Store (Arg2, _T_3)
+                                    Name (T_3, Zero)
+                                    Store (Arg2, T_3)
                                     If (LNotEqual (Match (Package (0x02)
                                                     {
                                                         0x07BC, 
                                                         0x03BC
-                                                    }, MEQ, _T_3, MTR, Zero, Zero), Ones))
+                                                    }, MEQ, T_3, MTR, Zero, Zero), Ones))
                                     {
                                         Store (0x02, LPTD)
                                     }
@@ -1845,7 +1876,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                                         {
                                                             0x0678, 
                                                             0x0278
-                                                        }, MEQ, _T_3, MTR, Zero, Zero), Ones))
+                                                        }, MEQ, T_3, MTR, Zero, Zero), Ones))
                                         {
                                             Store (One, LPTD)
                                         }
@@ -1855,7 +1886,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                                             {
                                                                 0x0778, 
                                                                 0x0378
-                                                            }, MEQ, _T_3, MTR, Zero, Zero), Ones))
+                                                            }, MEQ, T_3, MTR, Zero, Zero), Ones))
                                             {
                                                 Store (Zero, LPTD)
                                             }
@@ -1871,19 +1902,19 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             }
                             Else
                             {
-                                If (LEqual (_T_0, 0x03))
+                                If (LEqual (T_0, 0x03))
                                 {
                                     If (Arg1)
                                     {
-                                        Name (_T_4, Zero)
-                                        Store (Arg2, _T_4)
-                                        If (LEqual (_T_4, 0x0370))
+                                        Name (T_4, Zero)
+                                        Store (Arg2, T_4)
+                                        If (LEqual (T_4, 0x0370))
                                         {
                                             Store (One, FDDD)
                                         }
                                         Else
                                         {
-                                            If (LEqual (_T_4, 0x03F0))
+                                            If (LEqual (T_4, 0x03F0))
                                             {
                                                 Store (Zero, FDDD)
                                             }
@@ -2099,7 +2130,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                 Mutex (MUT0, 0x00)
                 Method (ENFG, 0, NotSerialized)
                 {
-                    Acquire (MUT0, 0x0FFF)
+                    Acquire (MUT0, 0xFFFF)
                     Store (0x55, INDX)
                 }
 
@@ -2603,25 +2634,25 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                     Method (_STA, 0, NotSerialized)
                     {
                         Return (Zero)
-                        ENFG ()
-                        And (CR02, 0x80, Local0)
-                        Store (CR25, Local1)
-                        EXFG ()
-                        If (Local0)
-                        {
-                            Return (0x0F)
-                        }
-                        Else
-                        {
-                            If (Local1)
-                            {
-                                Return (0x0D)
-                            }
-                            Else
-                            {
-                                Return (Zero)
-                            }
-                        }
+                        //ENFG ()
+                        //And (CR02, 0x80, Local0)
+                        //Store (CR25, Local1)
+                        //EXFG ()
+                        //If (Local0)
+                        //{
+                        //    Return (0x0F)
+                        //}
+                        //Else
+                        //{
+                        //   If (Local1)
+                        //    {
+                        //        Return (0x0D)
+                        //    }
+                        //    Else
+                        //    {
+                        //        Return (Zero)
+                        //    }
+                        //}
                     }
 
                     Method (_DIS, 0, NotSerialized)
@@ -5973,7 +6004,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             Zero, 
                             Zero
                         })
-                        Name (_PLD, Buffer (0x10)
+                        Name (_PLD, Package (0x10)
                         {
                             /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                             /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -5988,7 +6019,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6005,7 +6036,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6022,7 +6053,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6039,7 +6070,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6056,7 +6087,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6073,7 +6104,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6090,7 +6121,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6107,7 +6138,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6125,7 +6156,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             Zero, 
                             Zero
                         })
-                        Name (_PLD, Buffer (0x10)
+                        Name (_PLD, Package (0x10)
                         {
                             /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                             /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6146,7 +6177,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             Zero, 
                             Zero
                         })
-                        Name (_PLD, Buffer (0x10)
+                        Name (_PLD, Package (0x10)
                         {
                             /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                             /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6161,7 +6192,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6178,7 +6209,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6195,7 +6226,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6212,7 +6243,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6229,7 +6260,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6246,7 +6277,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6264,7 +6295,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             Zero, 
                             Zero
                         })
-                        Name (_PLD, Buffer (0x10)
+                        Name (_PLD, Package (0x10)
                         {
                             /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                             /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6309,7 +6340,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             Zero, 
                             Zero
                         })
-                        Name (_PLD, Buffer (0x10)
+                        Name (_PLD, Package (0x10)
                         {
                             /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                             /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6324,7 +6355,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6341,7 +6372,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6358,7 +6389,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6375,7 +6406,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6392,7 +6423,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6409,7 +6440,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6426,7 +6457,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6443,7 +6474,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6461,7 +6492,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             Zero, 
                             Zero
                         })
-                        Name (_PLD, Buffer (0x10)
+                        Name (_PLD, Package (0x10)
                         {
                             /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                             /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6482,7 +6513,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             Zero, 
                             Zero
                         })
-                        Name (_PLD, Buffer (0x10)
+                        Name (_PLD, Package (0x10)
                         {
                             /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                             /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6497,7 +6528,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6514,7 +6545,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6531,7 +6562,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6548,7 +6579,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6565,7 +6596,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6582,7 +6613,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                 Zero, 
                                 Zero
                             })
-                            Name (_PLD, Buffer (0x10)
+                            Name (_PLD, Package (0x10)
                             {
                                 /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                 /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -6600,7 +6631,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             Zero, 
                             Zero
                         })
-                        Name (_PLD, Buffer (0x10)
+                        Name (_PLD, Package (0x10)
                         {
                             /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                             /* 0008 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -7558,7 +7589,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
         Mutex (MUTH, 0x00)
         Method (HPCC, 2, NotSerialized)
         {
-            Acquire (MUTH, 0x0FFF)
+            Acquire (MUTH, 0xFFFF)
             Store (RWPE (Add (Arg0, XSCT)), Local0)
             Store (Arg1, Local1)
             And (Local0, 0x07C0, Local0)
@@ -7881,7 +7912,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
         Mutex (MUTE, 0x00)
         Method (RBPE, 1, NotSerialized)
         {
-            Acquire (MUTE, 0x03E8)
+            Acquire (MUTE, 0xFFFF)
             Add (Arg0, PEBS, Local0)
             OperationRegion (PCFG, SystemMemory, Local0, One)
             Field (PCFG, ByteAcc, NoLock, Preserve)
@@ -7895,7 +7926,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
 
         Method (RWPE, 1, NotSerialized)
         {
-            Acquire (MUTE, 0x03E8)
+            Acquire (MUTE, 0xFFFF)
             And (Arg0, 0xFFFFFFFE, Arg0)
             Add (Arg0, PEBS, Local0)
             OperationRegion (PCFG, SystemMemory, Local0, 0x02)
@@ -7910,7 +7941,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
 
         Method (RDPE, 1, NotSerialized)
         {
-            Acquire (MUTE, 0x03E8)
+            Acquire (MUTE, 0xFFFF)
             And (Arg0, 0xFFFFFFFC, Arg0)
             Add (Arg0, PEBS, Local0)
             OperationRegion (PCFG, SystemMemory, Local0, 0x04)
@@ -7925,7 +7956,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
 
         Method (WBPE, 2, NotSerialized)
         {
-            Acquire (MUTE, 0x0FFF)
+            Acquire (MUTE, 0xFFFF)
             Add (Arg0, PEBS, Local0)
             OperationRegion (PCFG, SystemMemory, Local0, One)
             Field (PCFG, ByteAcc, NoLock, Preserve)
@@ -7939,7 +7970,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
 
         Method (WWPE, 2, NotSerialized)
         {
-            Acquire (MUTE, 0x03E8)
+            Acquire (MUTE, 0xFFFF)
             And (Arg0, 0xFFFFFFFE, Arg0)
             Add (Arg0, PEBS, Local0)
             OperationRegion (PCFG, SystemMemory, Local0, 0x02)
@@ -7954,7 +7985,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
 
         Method (WDPE, 2, NotSerialized)
         {
-            Acquire (MUTE, 0x03E8)
+            Acquire (MUTE, 0xFFFF)
             And (Arg0, 0xFFFFFFFC, Arg0)
             Add (Arg0, PEBS, Local0)
             OperationRegion (PCFG, SystemMemory, Local0, 0x04)
@@ -7969,7 +8000,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
 
         Method (RWDP, 3, NotSerialized)
         {
-            Acquire (MUTE, 0x03E8)
+            Acquire (MUTE, 0xFFFF)
             And (Arg0, 0xFFFFFFFC, Arg0)
             Add (Arg0, PEBS, Local0)
             OperationRegion (PCFG, SystemMemory, Local0, 0x04)
@@ -8053,14 +8084,14 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                     0x00000000,         // Range Minimum
                     0x00000000,         // Range Maximum
                     0x00000000,         // Translation Offset
-                    0x00000000,         // Length
+                    0x00000001,         // Length
                     ,, , AddressRangeMemory, TypeStatic)
                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                     0x00000000,         // Granularity
                     0x00000000,         // Range Minimum
                     0x00000000,         // Range Maximum
                     0x00000000,         // Translation Offset
-                    0x00000000,         // Length
+                    0x00000001,         // Length
                     ,, , AddressRangeMemory, TypeStatic)
             })
             CreateDWordField (CRS, 0x5C, MIN5)
@@ -9993,10 +10024,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
     Name (BRGL, Zero)
     Name (ONE1, Zero)
     Name (BLVA, Zero)
-    If (LEqual (HM55, One))
-    {
-        Name (ONCE, Zero)
-    }
+    Name (ONCE, Zero)
 
     Scope (_SB.PCI0.SBRG)
     {
@@ -10166,7 +10194,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                 Store (0xFB, DBG8)
                 Notify (AC, Zero)
                 Notify (BAT1, Zero)
-                Acquire (MUEC, 0x8000)
+                Acquire (MUEC, 0xFFFF)
                 Notify (AC, 0x80)
                 Sleep (0x14)
                 Notify (BAT1, 0x80)
@@ -10612,6 +10640,14 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
 
                         Release (MUEC)
                     }
+		    Else
+                    {
+                        Return (Zero)
+                    }
+                }
+                Else
+                {
+                    Return (Zero)
                 }
             }
 
@@ -10792,9 +10828,9 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                         /* 0008 */    0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
                     }))
             {
-                Name (_T_0, Zero)
-                Store (ToInteger (Arg2), _T_0)
-                If (LEqual (_T_0, Zero))
+                Name (T_0, Zero)
+                Store (ToInteger (Arg2), T_0)
+                If (LEqual (T_0, Zero))
                 {
                     Return (Buffer (One)
                     {
@@ -10803,20 +10839,20 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                 }
                 Else
                 {
-                    If (LEqual (_T_0, One))
+                    If (LEqual (T_0, One))
                     {
                         Return ("1.0")
                     }
                     Else
                     {
-                        If (LEqual (_T_0, 0x02))
+                        If (LEqual (T_0, 0x02))
                         {
                             Store (ToInteger (DerefOf (Index (Arg3, Zero))), RQST)
                             Return (Zero)
                         }
                         Else
                         {
-                            If (LEqual (_T_0, 0x03))
+                            If (LEqual (T_0, 0x03))
                             {
                                 Name (PPI1, Package (0x02)
                                 {
@@ -10828,13 +10864,13 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             }
                             Else
                             {
-                                If (LEqual (_T_0, 0x04))
+                                If (LEqual (T_0, 0x04))
                                 {
                                     Return (One)
                                 }
                                 Else
                                 {
-                                    If (LEqual (_T_0, 0x05))
+                                    If (LEqual (T_0, 0x05))
                                     {
                                         Name (PPI2, Package (0x03)
                                         {
@@ -10863,7 +10899,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                     }
                                     Else
                                     {
-                                        If (LEqual (_T_0, 0x06))
+                                        If (LEqual (T_0, 0x06))
                                         {
                                             Return (Zero)
                                         }
@@ -10885,9 +10921,9 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             /* 0008 */    0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
                         }))
                 {
-                    Name (_T_1, Zero)
-                    Store (ToInteger (Arg2), _T_1)
-                    If (LEqual (_T_1, Zero))
+                    Name (T_1, Zero)
+                    Store (ToInteger (Arg2), T_1)
+                    If (LEqual (T_1, Zero))
                     {
                         Return (Buffer (One)
                         {
@@ -10896,7 +10932,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                     }
                     Else
                     {
-                        If (LEqual (_T_1, One))
+                        If (LEqual (T_1, One))
                         {
                             Store (ToInteger (DerefOf (Index (Arg3, Zero))), MOR)
                             Return (Zero)
@@ -10991,9 +11027,9 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                         /* 0008 */    0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
                     }))
             {
-                Name (_T_0, Zero)
-                Store (ToInteger (Arg2), _T_0)
-                If (LEqual (_T_0, Zero))
+                Name (T_0, Zero)
+                Store (ToInteger (Arg2), T_0)
+                If (LEqual (T_0, Zero))
                 {
                     Return (Buffer (One)
                     {
@@ -11002,20 +11038,20 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                 }
                 Else
                 {
-                    If (LEqual (_T_0, One))
+                    If (LEqual (T_0, One))
                     {
                         Return ("1.0")
                     }
                     Else
                     {
-                        If (LEqual (_T_0, 0x02))
+                        If (LEqual (T_0, 0x02))
                         {
                             Store (ToInteger (DerefOf (Index (Arg3, Zero))), RQST)
                             Return (Zero)
                         }
                         Else
                         {
-                            If (LEqual (_T_0, 0x03))
+                            If (LEqual (T_0, 0x03))
                             {
                                 Name (PPI1, Package (0x02)
                                 {
@@ -11027,13 +11063,13 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             }
                             Else
                             {
-                                If (LEqual (_T_0, 0x04))
+                                If (LEqual (T_0, 0x04))
                                 {
                                     Return (One)
                                 }
                                 Else
                                 {
-                                    If (LEqual (_T_0, 0x05))
+                                    If (LEqual (T_0, 0x05))
                                     {
                                         Name (PPI2, Package (0x03)
                                         {
@@ -11062,7 +11098,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                                     }
                                     Else
                                     {
-                                        If (LEqual (_T_0, 0x06))
+                                        If (LEqual (T_0, 0x06))
                                         {
                                             Return (Zero)
                                         }
@@ -11084,9 +11120,9 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                             /* 0008 */    0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
                         }))
                 {
-                    Name (_T_1, Zero)
-                    Store (ToInteger (Arg2), _T_1)
-                    If (LEqual (_T_1, Zero))
+                    Name (T_1, Zero)
+                    Store (ToInteger (Arg2), T_1)
+                    If (LEqual (T_1, Zero))
                     {
                         Return (Buffer (One)
                         {
@@ -11095,7 +11131,7 @@ DefinitionBlock ("dsdt.aml", "DSDT", 2,
                     }
                     Else
                     {
-                        If (LEqual (_T_1, One))
+                        If (LEqual (T_1, One))
                         {
                             Store (ToInteger (DerefOf (Index (Arg3, Zero))), MOR)
                             Return (Zero)
