• João Paulo Rechi Vita's avatar
    asus-wmi: Create quirk for airplane_mode LED · a977e59c
    João Paulo Rechi Vita authored
    Some Asus laptops that have an airplane-mode indicator LED, also have
    the WMI WLAN user bit set, and the following bits in their DSDT:
    
    Scope (_SB)
    {
      (...)
      Device (ATKD)
      {
        (...)
        Method (WMNB, 3, Serialized)
        {
          (...)
          If (LEqual (IIA0, 0x00010002))
          {
            OWGD (IIA1)
            Return (One)
          }
        }
      }
    }
    
    So when asus-wmi uses ASUS_WMI_DEVID_WLAN_LED (0x00010002) to store the
    wlan state, it drives the airplane-mode indicator LED (through the call
    to OWGD) in an inverted fashion: the LED is ON when airplane mode is OFF
    (since wlan is ON), and vice-versa.
    
    This commit creates a quirk to not register a RFKill switch at all for
    these laptops, to allow the asus-wireless driver to drive the airplane
    mode LED correctly through the ASHS ACPI device. It also adds a match to
    that quirk for the Asus X555UB, which is affected by this problem.
    Signed-off-by: default avatarJoão Paulo Rechi Vita <jprvita@endlessm.com>
    Reviewed-by: default avatarCorentin Chary <corentin.chary@gmail.com>
    Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
    a977e59c
asus-wmi.c 55.6 KB