Message ID | 201708061735.31002@pali (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On Sun, Aug 6, 2017 at 6:35 PM, Pali Rohár <pali.rohar@gmail.com> wrote: > On Wednesday 05 July 2017 22:24:20 Pali Rohár wrote: >> On Wednesday 05 July 2017 21:30:35 David Airlie wrote: >> > > On Saturday 17 June 2017 18:47:54 Pali Rohár wrote: >> > > > > So problematic drivers which use instance=1 without any >> > > > > comments >> > > > > are: >> > > > > acer-wmi >> > > > > asus-wmi >> > > > > mxm-wmi > Hi! For mxm-wmi I found this document: > https://lekensteyn.nl/files/docs/mxm-2.1-software-spec.pdf > > On page numbered 26 (resp. in PDF page 31) is information about WMI > GUID {F6CB5C3C-9CAE-4EBD-B577-931EA32A2CC0} interface and there is > written that instance count = 1. > > // Methods GUID {F6CB5C3C-9CAE-4ebd-B577-931EA32A2CC0} > 0x3C, 0x5C, 0xCB, 0xF6, 0xAE, 0x9C, 0xbd, 0x4e, 0xB5, 0x77, 0x93, > 0x1E, 0xA3, 0x2A, 0x2C, 0xC0, > 0x4D, 0x58, // Object ID “MX” = method “WMMX” > 1, // Instance Count > 0x02, // Flags (WMIACPI_REGFLAG_METHOD) > > And ACPI method for handling this WMI call does not check Arg0 and Arg1 > at all. > > So... Andy, Darren, any objections for following patch which changes > instance number from one to zero? No objections from me! Just put enough explanation into commit message.
On Sunday 06 August 2017 18:10:12 Andy Shevchenko wrote: > On Sun, Aug 6, 2017 at 6:35 PM, Pali Rohár <pali.rohar@gmail.com> > wrote: > > On Wednesday 05 July 2017 22:24:20 Pali Rohár wrote: > >> On Wednesday 05 July 2017 21:30:35 David Airlie wrote: > >> > > On Saturday 17 June 2017 18:47:54 Pali Rohár wrote: > >> > > > > So problematic drivers which use instance=1 without any > >> > > > > comments > >> > > > > > >> > > > > are: > >> > > > > acer-wmi > >> > > > > asus-wmi > >> > > > > mxm-wmi > > > > Hi! For mxm-wmi I found this document: > > https://lekensteyn.nl/files/docs/mxm-2.1-software-spec.pdf > > > > On page numbered 26 (resp. in PDF page 31) is information about WMI > > GUID {F6CB5C3C-9CAE-4EBD-B577-931EA32A2CC0} interface and there is > > written that instance count = 1. > > > > // Methods GUID {F6CB5C3C-9CAE-4ebd-B577-931EA32A2CC0} > > 0x3C, 0x5C, 0xCB, 0xF6, 0xAE, 0x9C, 0xbd, 0x4e, 0xB5, 0x77, 0x93, > > 0x1E, 0xA3, 0x2A, 0x2C, 0xC0, > > 0x4D, 0x58, // Object ID “MX” = method “WMMX” > > 1, // Instance Count > > 0x02, // Flags (WMIACPI_REGFLAG_METHOD) > > > > And ACPI method for handling this WMI call does not check Arg0 and > > Arg1 at all. > > > > So... Andy, Darren, any objections for following patch which > > changes instance number from one to zero? > > No objections from me! Just put enough explanation into commit > message. Ok. Now I found ACPI code for asus-wmi.c GUID 97845ED0-4E6D-11DE-8A39-0800200C9A66 on https://lwn.net/Articles/391249/ and there is also in _WDG buffer instance count just 1 and WMBC method do not check Arg0. So asus-wmi.c needs to be fixed too.
diff --git a/drivers/platform/x86/mxm-wmi.c b/drivers/platform/x86/mxm-wmi.c index f4bad83..35d8b9a 100644 --- a/drivers/platform/x86/mxm-wmi.c +++ b/drivers/platform/x86/mxm-wmi.c @@ -53,7 +53,7 @@ int mxm_wmi_call_mxds(int adapter) printk("calling mux switch %d\n", adapter); - status = wmi_evaluate_method(MXM_WMMX_GUID, 0x1, adapter, &input, + status = wmi_evaluate_method(MXM_WMMX_GUID, 0x0, adapter, &input, &output); if (ACPI_FAILURE(status)) @@ -78,7 +78,7 @@ int mxm_wmi_call_mxmx(int adapter) printk("calling mux switch %d\n", adapter); - status = wmi_evaluate_method(MXM_WMMX_GUID, 0x1, adapter, &input, + status = wmi_evaluate_method(MXM_WMMX_GUID, 0x0, adapter, &input, &output); if (ACPI_FAILURE(status))