leds: trigger: Disable CPU trigger on PREEMPT_RT

The CPU trigger is invoked on ARM from CPU-idle. That trigger later
invokes led_trigger_event() which may invoke the callback of the actual driver.
That driver can acquire a spinlock_t which is okay on kernel without
PREEMPT_RT. On a PREEMPT_RT enabled kernel this lock is turned into a
sleeping lock and must not be acquired with disabled interrupts.

Disable the CPU trigger on PREEMPT_RT.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://lkml.kernel.org/r/20210924111501.m57cwwn7ahiyxxdd@linutronix.de
Signed-off-by: Pavel Machek <pavel@ucw.cz>
This commit is contained in:
Sebastian Andrzej Siewior 2021-10-13 11:37:19 +02:00 committed by Pavel Machek
parent 2a5a8fa8b2
commit 97b31c1f8e

View File

@ -64,6 +64,7 @@ config LEDS_TRIGGER_BACKLIGHT
config LEDS_TRIGGER_CPU config LEDS_TRIGGER_CPU
bool "LED CPU Trigger" bool "LED CPU Trigger"
depends on !PREEMPT_RT
help help
This allows LEDs to be controlled by active CPUs. This shows This allows LEDs to be controlled by active CPUs. This shows
the active CPUs across an array of LEDs so you can see which the active CPUs across an array of LEDs so you can see which