ledtrig-cpu: kill useless mutex to fix sleep in atomic context
Seeing the following every time the CPU enters or leaves idle on a
Beagleboard:
BUG: sleeping function called from invalid context at kernel/mutex.c:269
in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper/0
no locks held by swapper/0/0.
[<
c001659c>] (unwind_backtrace+0x0/0xf8) from [<
c05aaa7c>] (mutex_lock_nested+0x24/0x380)
[<
c05aaa7c>] (mutex_lock_nested+0x24/0x380) from [<
c043bd1c>] (ledtrig_cpu+0x38/0x88)
[<
c043bd1c>] (ledtrig_cpu+0x38/0x88) from [<
c000f4b0>] (cpu_idle+0xf4/0x120)
[<
c000f4b0>] (cpu_idle+0xf4/0x120) from [<
c07e47c8>] (start_kernel+0x2bc/0x30c)
Miles Lane has reported seeing similar splats during system suspend.
The mutex in struct led_trigger_cpu appears to have no function: it
resides in a per-cpu data structure which never changes after the
trigger is registered. So just remove it.
Reported-by: Miles Lane <miles.lane@gmail.com>
Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Bryan Wu <roc@roc-samos.(none)>