[PATCH] platform/x86: asus-armoury: fix mini-led mode show

Denis Benato
2025-11-20T02:41:28Z

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>
---
drivers/platform/x86/asus-armoury.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/asus-armoury.c b/drivers/platform/x86/asus-armoury.c
index d6aba68515e2..c4919f3bf4b2 100644
--- a/drivers/platform/x86/asus-armoury.c
+++ b/drivers/platform/x86/asus-armoury.c
@@ -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;
--
2.52.0