linux-imx/drivers/leds
Thomas Weißschuh 93ac74cd6f leds: triggers: Flush pending brightness before activating trigger
[ Upstream commit ab477b766e ]

The race fixed in timer_trig_activate() between a blocking
set_brightness() call and trigger->activate() can affect any trigger.
So move the call to flush_work() into led_trigger_set() where it can
avoid the race for all triggers.

Fixes: 0db37915d9 ("leds: avoid races with workqueue")
Fixes: 8c0f693c6e ("leds: avoid flush_work in atomic context")
Cc: stable@vger.kernel.org
Tested-by: Dustin L. Howett <dustin@howett.net>
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Link: https://lore.kernel.org/r/20240613-led-trigger-flush-v2-1-f4f970799d77@weissschuh.net
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-11 12:47:14 +02:00
..
blink
flash leds: mt6360: Fix memory leak in mt6360_init_isnk_properties() 2024-08-03 08:54:18 +02:00
rgb pwm: Rename pwm_apply_state() to pwm_apply_might_sleep() 2024-06-12 11:12:24 +02:00
simple
trigger leds: triggers: Flush pending brightness before activating trigger 2024-08-11 12:47:14 +02:00
Kconfig leds: aw2013: Select missing dependency REGMAP_I2C 2024-01-25 15:35:49 -08:00
led-class-flash.c
led-class-multicolor.c
led-class.c Revert "leds: led-core: Fix refcount leak in of_led_get()" 2024-08-03 08:53:52 +02:00
led-core.c
led-triggers.c leds: triggers: Flush pending brightness before activating trigger 2024-08-11 12:47:14 +02:00
leds-88pm860x.c
leds-acer-a500.c
leds-adp5520.c
leds-an30259a.c leds: an30259a: Use devm_mutex_init() for mutex initialization 2024-07-11 12:49:02 +02:00
leds-apu.c
leds-ariel.c
leds-aw200xx.c leds: aw200xx: Fix write to DIM parameter 2024-01-25 15:35:49 -08:00
leds-aw2013.c leds: aw2013: Unlock mutex before destroying it 2024-03-26 18:19:55 -04:00
leds-bcm6328.c
leds-bcm6358.c
leds-bd2606mvv.c
leds-bd2802.c
leds-blinkm.c
leds-cht-wcove.c
leds-clevo-mail.c
leds-cobalt-qube.c
leds-cobalt-raq.c
leds-cpcap.c
leds-cr0014114.c
leds-da903x.c
leds-da9052.c
leds-dac124s085.c
leds-el15203000.c
leds-gpio-register.c
leds-gpio.c
leds-hp6xx.c
leds-ip30.c
leds-ipaq-micro.c
leds-is31fl32xx.c
leds-is31fl319x.c
leds-lm355x.c
leds-lm3530.c
leds-lm3532.c
leds-lm3533.c
leds-lm3642.c
leds-lm3692x.c
leds-lm3697.c
leds-lm36274.c
leds-locomo.c
leds-lp50xx.c
leds-lp55xx-common.c
leds-lp55xx-common.h
leds-lp3944.c
leds-lp3952.c
leds-lp5521.c
leds-lp5523.c
leds-lp5562.c
leds-lp8501.c
leds-lp8788.c
leds-lp8860.c
leds-lt3593.c
leds-max8997.c
leds-max77650.c
leds-mc13783.c
leds-menf21bmc.c
leds-mlxcpld.c
leds-mlxreg.c
leds-mt6323.c
leds-net48xx.c
leds-netxbig.c
leds-nic78bx.c
leds-ns2.c
leds-ot200.c
leds-pca955x.c
leds-pca963x.c
leds-pca995x.c
leds-pca9532.c
leds-pm8058.c
leds-powernv.c
leds-pwm.c leds: pwm: Disable PWM when going to suspend 2024-06-12 11:12:24 +02:00
leds-rb532.c
leds-regulator.c
leds-sc27xx-bltc.c
leds-spi-byte.c
leds-ss4200.c leds: ss4200: Convert PCIBIOS_* return codes to errnos 2024-08-03 08:54:18 +02:00
leds-sunfire.c
leds-syscon.c
leds-tca6507.c
leds-ti-lmu-common.c
leds-tlc591xx.c
leds-tps6105x.c
leds-turris-omnia.c
leds-wm831x-status.c
leds-wm8350.c
leds-wrap.c
leds.h
Makefile
TODO
uleds.c