linux/drivers/platform
Anton Khirnov 2606e7e090 platform/x86: asus-wmi: use brightness_set_blocking() for kbd led
[ Upstream commit ccb61a3283 ]

kbd_led_set() can sleep, and so may not be used as the brightness_set()
callback.

Otherwise using this led with a trigger leads to system hangs
accompanied by:
BUG: scheduling while atomic: acpi_fakekeyd/2588/0x00000003
CPU: 4 UID: 0 PID: 2588 Comm: acpi_fakekeyd Not tainted 6.17.9+deb14-amd64 #1 PREEMPT(lazy)  Debian 6.17.9-1
Hardware name: ASUSTeK COMPUTER INC. ASUS EXPERTBOOK B9403CVAR/B9403CVAR, BIOS B9403CVAR.311 12/24/2024
Call Trace:
 <TASK>
 [...]
 schedule_timeout+0xbd/0x100
 __down_common+0x175/0x290
 down_timeout+0x67/0x70
 acpi_os_wait_semaphore+0x57/0x90
 [...]
 asus_wmi_evaluate_method3+0x87/0x190 [asus_wmi]
 led_trigger_event+0x3f/0x60
 [...]

Fixes: 9fe44fc98c ("platform/x86: asus-wmi: Simplify the keyboard brightness updating process")
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Denis Benato <benato.denis96@gmail.com>
Link: https://patch.msgid.link/20251129101307.18085-3-anton@khirnov.net
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-12-18 14:03:35 +01:00
..
arm64 platform: arm64: thinkpad-t14s-ec: sleep after EC access 2025-11-21 19:05:27 +02:00
chrome platform/chrome: cros_ec: Add a flag to track registration state 2025-09-14 11:34:41 +08:00
cznic treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
goldfish Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
loongarch platform/loongarch: laptop: Unregister generic_sub_drivers on exit 2025-06-07 11:37:15 +08:00
mellanox platform/mellanox: mlxbf-pmc: add sysfs_attr_init() to count_clock init 2025-10-15 11:12:57 +03:00
mips platform: mips: cpu_hwmon: Disable driver on unsupported hardware 2024-06-21 10:22:10 +02:00
olpc platform-drivers-x86 for v6.12-1 2024-09-19 09:16:04 +02:00
surface platform: Do not enable by default during compile testing 2025-04-24 15:53:35 +03:00
x86 platform/x86: asus-wmi: use brightness_set_blocking() for kbd led 2025-12-18 14:03:35 +01:00
Kconfig platform: cznic: Add preliminary support for Turris Omnia MCU 2024-07-01 15:46:36 +02:00
Makefile platform-drivers-x86 for v6.11-1 2024-07-17 17:05:21 -07:00