]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
platform/x86: asus-armoury: fix mini-led mode show
authorDenis Benato <denis.benato@linux.dev>
Thu, 20 Nov 2025 02:40:59 +0000 (03:40 +0100)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Fri, 21 Nov 2025 15:28:29 +0000 (17:28 +0200)
Perform the actual check of the mini-led mode against supported modes
and do not return the first one regardless of the WMI devstate.

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/aR1xbxEQyQPEvB9o@stanley.mountain/
Signed-off-by: Denis Benato <denis.benato@linux.dev>
Link: https://patch.msgid.link/20251120024059.1341326-1-denis.benato@linux.dev
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/asus-armoury.c

index c23b711043e2be19ec9144b41044fd61758a780d..5106e8a41e25e1f58c17f91c142953f07412b212 100644 (file)
@@ -373,7 +373,8 @@ static ssize_t mini_led_mode_current_value_show(struct kobject *kobj,
        mode = FIELD_GET(ASUS_MINI_LED_MODE_MASK, 0);
 
        for (i = 0; i < mini_led_mode_map_size; i++)
-               return sysfs_emit(buf, "%u\n", mini_led_mode_map[i]);
+               if (mode == mini_led_mode_map[i])
+                       return sysfs_emit(buf, "%u\n", i);
 
        pr_warn("Unrecognized mini-LED mode: %u", mode);
        return -EINVAL;