Skip to content

Commit 0309fc3

Browse files
committed
Merge tag 'leds-fixes-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds
Pull LED fix from Lee Jones: - Fix race condition leading to null pointer dereference on ThinkPad * tag 'leds-fixes-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds: leds: led-class: Only Add LED to leds_list when it is fully ready
2 parents a66191c + d1883ce commit 0309fc3

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

drivers/leds/led-class.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -560,11 +560,6 @@ int led_classdev_register_ext(struct device *parent,
560560
#ifdef CONFIG_LEDS_BRIGHTNESS_HW_CHANGED
561561
led_cdev->brightness_hw_changed = -1;
562562
#endif
563-
/* add to the list of leds */
564-
down_write(&leds_list_lock);
565-
list_add_tail(&led_cdev->node, &leds_list);
566-
up_write(&leds_list_lock);
567-
568563
if (!led_cdev->max_brightness)
569564
led_cdev->max_brightness = LED_FULL;
570565

@@ -574,6 +569,11 @@ int led_classdev_register_ext(struct device *parent,
574569

575570
led_init_core(led_cdev);
576571

572+
/* add to the list of leds */
573+
down_write(&leds_list_lock);
574+
list_add_tail(&led_cdev->node, &leds_list);
575+
up_write(&leds_list_lock);
576+
577577
#ifdef CONFIG_LEDS_TRIGGERS
578578
led_trigger_set_default(led_cdev);
579579
#endif

0 commit comments

Comments
 (0)