History

Merge tag 'led-fixes-for-5.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds

Pull LED fix from Jacek Anaszewski: "Fix for a recent change in LED core, that didn't take into account the possibility of calling led_blink_setup() from atomic context" * tag 'led-fixes-for-5.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: leds: avoid flush_work in atomic context

Linus Torvalds committed 7 years ago

Commit f58c3562 parents 9221dce 8c0f6932 files · +5 −5Browse files

Unified · Split

2 files
  1. drivers/leds/led-core.c +0 −5
  2. drivers/leds/trigger/ledtrig-timer.c +5 −0
drivers/leds/led-core.c+0−5
@@ -164,11 +164,6 @@ static void led_blink_setup(struct led_classdev *led_cdev, · 163 unmodified lines
164 unsigned long *delay_on,164 unsigned long *delay_on,
165 unsigned long *delay_off)165 unsigned long *delay_off)
166{166{
167 /*
168 * If "set brightness to 0" is pending in workqueue, we don't
169 * want that to be reordered after blink_set()
170 */
171 flush_work(&led_cdev->set_brightness_work);
172 if (!test_bit(LED_BLINK_ONESHOT, &led_cdev->work_flags) &&167 if (!test_bit(LED_BLINK_ONESHOT, &led_cdev->work_flags) &&
173 led_cdev->blink_set &&168 led_cdev->blink_set &&
174 !led_cdev->blink_set(led_cdev, delay_on, delay_off))169 !led_cdev->blink_set(led_cdev, delay_on, delay_off))
drivers/leds/trigger/ledtrig-timer.c+5−0
@@ -113,6 +113,11 @@ static int timer_trig_activate(struct led_classdev *led_cdev) · 112 unmodified lines
113 led_cdev->flags &= ~LED_INIT_DEFAULT_TRIGGER;113 led_cdev->flags &= ~LED_INIT_DEFAULT_TRIGGER;
114 }114 }
115 115
116 /*
117 * If "set brightness to 0" is pending in workqueue, we don't
118 * want that to be reordered after blink_set()
119 */
120 flush_work(&led_cdev->set_brightness_work);
116 led_blink_set(led_cdev, &led_cdev->blink_delay_on,121 led_blink_set(led_cdev, &led_cdev->blink_delay_on,
117 &led_cdev->blink_delay_off);122 &led_cdev->blink_delay_off);
118 123