kernel_optimize_test/drivers/leds
Nathan Lynch 0b8728d6f1 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)>
2012-11-11 12:09:43 -08:00
..
dell-led.c
Kconfig
led-class.c
led-core.c
led-triggers.c
leds-88pm860x.c
leds-adp5520.c
leds-asic3.c
leds-atmel-pwm.c
leds-bd2802.c
leds-blinkm.c
leds-clevo-mail.c
leds-cobalt-qube.c
leds-cobalt-raq.c
leds-da903x.c
leds-da9052.c
leds-dac124s085.c
leds-fsg.c
leds-gpio-register.c
leds-gpio.c
leds-hp6xx.c
leds-lm355x.c
leds-lm3530.c
leds-lm3533.c
leds-lm3642.c
leds-locomo.c
leds-lp3944.c
leds-lp5521.c
leds-lp5523.c
leds-lp8788.c
leds-lt3593.c
leds-max8997.c
leds-mc13783.c
leds-net48xx.c
leds-netxbig.c
leds-ns2.c
leds-ot200.c
leds-pca955x.c
leds-pca9532.c
leds-pca9633.c
leds-pwm.c
leds-rb532.c
leds-regulator.c
leds-renesas-tpu.c
leds-s3c24xx.c
leds-ss4200.c
leds-sunfire.c
leds-tca6507.c
leds-wm831x-status.c
leds-wm8350.c
leds-wrap.c
leds.h
ledtrig-backlight.c
ledtrig-cpu.c
ledtrig-default-on.c
ledtrig-gpio.c
ledtrig-heartbeat.c
ledtrig-ide-disk.c
ledtrig-oneshot.c
ledtrig-timer.c
ledtrig-transient.c
Makefile