linux/drivers/leds
Hans de Goede fcf2a9970e leds: class: Revert: "If no default trigger is given, make hw_control trigger the default trigger"
Commit 66601a29bb ("leds: class: If no default trigger is given, make
hw_control trigger the default trigger") causes ledtrig-netdev to get
set as default trigger on various network LEDs.

This causes users to hit a pre-existing AB-BA deadlock issue in
ledtrig-netdev between the LED-trigger locks and the rtnl mutex,
resulting in hung tasks in kernels >= 6.9.

Solving the deadlock is non trivial, so for now revert the change to
set the hw_control trigger as default trigger, so that ledtrig-netdev
no longer gets activated automatically for various network LEDs.

The netdev trigger is not needed because the network LEDs are usually under
hw-control and the netdev trigger tries to leave things that way so setting
it as the active trigger for the LED class device is a no-op.

Fixes: 66601a29bb ("leds: class: If no default trigger is given, make hw_control trigger the default trigger")
Reported-by: Genes Lists <lists@sapience.com>
Closes: https://lore.kernel.org/all/9d189ec329cfe68ed68699f314e191a10d4b5eda.camel@sapience.com/
Reported-by: Johannes Wüller <johanneswueller@gmail.com>
Closes: https://lore.kernel.org/lkml/e441605c-eaf2-4c2d-872b-d8e541f4cf60@gmail.com/
Cc: stable@vger.kernel.org
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Lee Jones <lee@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-06-16 09:33:28 -07:00
..
blink
flash leds: aat1290: Remove unused field 'torch_brightness' from 'struct aat1290_led' 2024-05-02 18:09:04 +01:00
rgb leds: mt6370: Remove unused field 'reg_cfgs' from 'struct mt6370_priv' 2024-05-02 18:12:27 +01:00
simple leds: simatic-ipc-leds-gpio: Add support for module BX-59A 2024-04-12 09:47:11 +01:00
trigger leds: trigger: pattern: Add support for hrtimer 2024-05-02 17:32:01 +01:00
Kconfig leds: expresswire: Don't depend on NEW_LEDS 2024-03-07 08:48:11 +00:00
led-class-flash.c
led-class-multicolor.c
led-class.c leds: class: Revert: "If no default trigger is given, make hw_control trigger the default trigger" 2024-06-16 09:33:28 -07:00
led-core.c
led-triggers.c leds: trigger: Store brightness set by led_trigger_event() 2024-03-28 10:39:49 +00:00
leds-88pm860x.c
leds-acer-a500.c
leds-adp5520.c
leds-an30259a.c leds: an30259a: Use devm_mutex_init() for mutex initialization 2024-04-11 17:35:24 +01:00
leds-apu.c leds: apu: Remove duplicate DMI lookup data 2024-04-12 09:47:15 +01:00
leds-ariel.c
leds-aw200xx.c leds: aw200xx: Use devm API to cleanup module's resources 2024-04-11 17:34:57 +01:00
leds-aw2013.c leds: aw2013: Use devm API to cleanup module's resources 2024-04-11 17:34:52 +01: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-expresswire.c leds: expresswire: Don't use "proxy" headers 2024-03-07 08:45:31 +00:00
leds-gpio-register.c
leds-gpio.c leds: gpio: Add kernel log if devm_fwnode_gpiod_get() fails 2023-12-13 15:45:55 +00:00
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: lm3532: Use devm API to cleanup module's resources 2024-04-11 17:35:08 +01:00
leds-lm3533.c
leds-lm3642.c
leds-lm3692x.c
leds-lm3697.c
leds-lm36274.c
leds-locomo.c
leds-lp50xx.c leds: lp50xx: Remove unused field 'num_of_banked_leds' from 'struct lp50xx' 2024-05-02 18:10:56 +01:00
leds-lp55xx-common.c
leds-lp55xx-common.h
leds-lp3944.c
leds-lp3952.c leds: lp3952: Use devm API to cleanup module's resources 2024-04-11 17:35:03 +01:00
leds-lp5521.c
leds-lp5523.c
leds-lp5562.c
leds-lp8501.c
leds-lp8788.c
leds-lp8860.c
leds-lt3593.c
leds-max5970.c leds: max5970: Add missing headers 2023-12-21 14:42:59 +00:00
leds-max8997.c
leds-max77650.c
leds-mc13783.c
leds-menf21bmc.c
leds-mlxcpld.c leds: leds-mlxcpld: Fix struct mlxcpld_led_priv member name 2024-03-07 08:48:16 +00:00
leds-mlxreg.c leds: mlxreg: Use devm_mutex_init() for mutex initialization 2024-04-11 17:35:18 +01:00
leds-mt6323.c
leds-net48xx.c
leds-netxbig.c
leds-nic78bx.c leds: nic78bx: Use devm API to cleanup module's resources 2024-04-11 17:35:13 +01:00
leds-ns2.c
leds-ot200.c
leds-pca955x.c
leds-pca963x.c leds: pca963x: Add support for suspend and resume 2024-03-07 08:48:06 +00:00
leds-pca995x.c
leds-pca9532.c
leds-pm8058.c
leds-powernv.c
leds-pwm.c leds: pwm: Disable PWM when going to suspend 2024-05-02 18:02:01 +01:00
leds-rb532.c
leds-regulator.c
leds-sc27xx-bltc.c
leds-spi-byte.c leds: spi-byte: Use devm_led_classdev_register_ext() 2024-03-07 08:48:06 +00:00
leds-ss4200.c
leds-sun50i-a100.c leds: sun50i-a100: Use match_string() helper to simplify the code 2024-05-02 18:06:30 +01:00
leds-sunfire.c Normalise "name (ad@dr)" MODULE_AUTHORs to "name <ad@dr>" 2024-03-06 13:07:39 -08:00
leds-syscon.c leds: syscon: Support 'reg' in addition to 'offset' for register address 2023-12-13 11:28:26 +00:00
leds-tca6507.c leds: tca6507: Use devm_led_classdev_register() to simplify remove path 2023-12-13 11:28:41 +00:00
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 leds: trigger: Stop exporting trigger_list 2024-03-07 08:48:04 +00:00
Makefile leds: Introduce ExpressWire library 2024-03-07 08:45:03 +00:00
TODO
uleds.c