Pavel, On Mon, Sep 27 2021 at 16:23, Pavel Machek wrote: > >> The CPU trigger is invoked on ARM from CPU-idle. That trigger later >> invokes led_trigger_event() which acquires a read lock in an IRQ-off >> section. The problematic part on PREEMPT_RT is that this lock is turned >> into a sleeping lock and must not be acquired with disabled interrupts. >> >> The problem continues as that the LED driver underneath must not acquire >> any sleeping locks itself. >> >> Disable the CPU trigger on PREEMPT_RT. > > I know locking with leds is problematic, but I believe you'll hit > similar problem elsewhere... Disabling triggers is not solution. Disabling stuff which is not working well with RT is very much a solution in order to make progress. We have surely more essential problems to solve than making leds blink and if anyone cares enough about them, then this can be worked on in parallel. That has been disabled on RT for ever and so far nobody complained or cared enough about it. Thanks, tglx