]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
platform/x86: asus-wmi: Evaluate wmi method with instance number 0x0
authorPali Rohár <pali.rohar@gmail.com>
Sat, 12 Aug 2017 07:44:16 +0000 (09:44 +0200)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Sun, 13 Aug 2017 12:55:05 +0000 (15:55 +0300)
According to available DSDT dump from Asus machine, there is the only one
instance of the WMI GUID 97845ED0-4E6D-11DE-8A39-0800200C9A66 and so it is
0x0. Moreover corresponding method WMBC does not check Arg0 (instance
number) at all.

DSDT dump is available at:
https://lwn.net/Articles/391249/

_WDG dump:
0xD0, 0x5E, 0x84, 0x97, 0x6D, 0x4E, 0xDE, 0x11, 0x8A, 0x39, 0x08,
0x00, 0x20, 0x0C, 0x9A, 0x66,
0x42, 0x43,    // Object ID "BC" = method "WMBC"
0x01,          // Instance count
0x02,          // Flags

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/platform/x86/asus-wmi.c

index 709e3a67391a0b5e79dd5e55e57c4012823a0687..48e1541dc8d4efa3cf24e9c0df5861aeaa431798 100644 (file)
@@ -299,7 +299,7 @@ static int asus_wmi_evaluate_method(u32 method_id, u32 arg0, u32 arg1,
        union acpi_object *obj;
        u32 tmp = 0;
 
-       status = wmi_evaluate_method(ASUS_WMI_MGMT_GUID, 1, method_id,
+       status = wmi_evaluate_method(ASUS_WMI_MGMT_GUID, 0, method_id,
                                     &input, &output);
 
        if (ACPI_FAILURE(status))
@@ -1946,7 +1946,7 @@ static int show_call(struct seq_file *m, void *data)
        acpi_status status;
 
        status = wmi_evaluate_method(ASUS_WMI_MGMT_GUID,
-                                    1, asus->debug.method_id,
+                                    0, asus->debug.method_id,
                                     &input, &output);
 
        if (ACPI_FAILURE(status))