Skip to content

Commit fcf2a99

Browse files
jwrdegoedetorvalds
authored andcommitted
leds: class: Revert: "If no default trigger is given, make hw_control trigger the default trigger"
Commit 66601a2 ("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: 66601a2 ("leds: class: If no default trigger is given, make hw_control trigger the default trigger") Reported-by: Genes Lists <[email protected]> Closes: https://lore.kernel.org/all/[email protected]/ Reported-by: Johannes Wüller <[email protected]> Closes: https://lore.kernel.org/lkml/[email protected]/ Cc: [email protected] Signed-off-by: Hans de Goede <[email protected]> Reviewed-by: Andrew Lunn <[email protected]> Acked-by: Lee Jones <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent a3e18a5 commit fcf2a99

File tree

1 file changed

+0
-6
lines changed

1 file changed

+0
-6
lines changed

drivers/leds/led-class.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -552,12 +552,6 @@ int led_classdev_register_ext(struct device *parent,
552552
led_init_core(led_cdev);
553553

554554
#ifdef CONFIG_LEDS_TRIGGERS
555-
/*
556-
* If no default trigger was given and hw_control_trigger is set,
557-
* make it the default trigger.
558-
*/
559-
if (!led_cdev->default_trigger && led_cdev->hw_control_trigger)
560-
led_cdev->default_trigger = led_cdev->hw_control_trigger;
561555
led_trigger_set_default(led_cdev);
562556
#endif
563557

0 commit comments

Comments
 (0)