Hi! > 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. Can you take a look at: Subject: [PATCH] leds: trigger: use RCU to protect the led_cdevs list From: Johannes Berg <johannes.berg@xxxxxxxxx> It changes affected area, and there's good chance RCU solves your problem. (And you may be better person to review it than I am). I'll apply Johanness' patch to the -next, and see what happens. If someone sees a problem, speak up. Best regards, Pavel -- http://www.livejournal.com/~pavelmachek
Attachment:
signature.asc
Description: PGP signature