]> granicus.if.org Git - intel_nuc_led/commitdiff
Correct WMI instance count issue for newer kernels
authormilesp20 <milesp@gmail.com>
Sat, 18 Nov 2017 01:27:28 +0000 (18:27 -0700)
committerGitHub <noreply@github.com>
Sat, 18 Nov 2017 01:27:28 +0000 (18:27 -0700)
WMI instance count issue in kernel was patched recently.  See https://github.com/torvalds/linux/commit/6afa1e2a32f4bd28df4cbe75454fde837dad4c09

nuc_led.c

index 56f90f229f799cca00bfc0b17545adcbaccca50d..36cf9ce67bf723dfe9bb2e49dcfcec2ade8c4a0e 100644 (file)
--- a/nuc_led.c
+++ b/nuc_led.c
@@ -152,7 +152,8 @@ static int nuc_led_get_state(u32 led, struct led_get_state_return *state)
         input.length = (acpi_size) sizeof(args);
         input.pointer = &args;
 
-        status = wmi_evaluate_method(NUCLED_WMI_MGMT_GUID, 1, NUCLED_WMI_METHODID_GETSTATE,
+       // Per Intel docs, first instance is used (instance is indexed from 0)
+        status = wmi_evaluate_method(NUCLED_WMI_MGMT_GUID, 0, NUCLED_WMI_METHODID_GETSTATE,
                                      &input, &output);
 
         if (ACPI_FAILURE(status))
@@ -195,7 +196,8 @@ static int nuc_led_set_state(u32 led, u32 brightness, u32 blink_fade, u32 color_
         input.length = (acpi_size) sizeof(args);
         input.pointer = &args;
         
-        status = wmi_evaluate_method(NUCLED_WMI_MGMT_GUID, 1, NUCLED_WMI_METHODID_SETSTATE,
+       // Per Intel docs, first instance is used (instance is indexed from 0)
+        status = wmi_evaluate_method(NUCLED_WMI_MGMT_GUID, 0, NUCLED_WMI_METHODID_SETSTATE,
                                      &input, &output);
 
         if (ACPI_FAILURE(status))