summaryrefslogtreecommitdiff
path: root/recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-led-core-Fix-brightness-setting-when-setting-delay_off-0.patch
blob: 61aa7e1a20a015885a75ab5221cea8d579e21a2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
The purpose of the patch is to fix ledtrig-timer functionality that is used to indicate the firmware upgrade is in progress.
The fix is based on https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7b6af2c53192f1766892ef40c8f48a413509ed72

diff --git a/drivers/leds/led-core.c b/drivers/leds/led-core.c
index d70d4a5..454ed4d 100644
--- a/drivers/leds/led-core.c
+++ b/drivers/leds/led-core.c
@@ -186,8 +186,9 @@ void led_blink_set(struct led_classdev *led_cdev,
 		   unsigned long *delay_on,
 		   unsigned long *delay_off)
 {
-	led_stop_software_blink(led_cdev);
+	del_timer_sync(&led_cdev->blink_timer);
 
+	led_cdev->flags &= ~LED_BLINK_SW;
 	led_cdev->flags &= ~LED_BLINK_ONESHOT;
 	led_cdev->flags &= ~LED_BLINK_ONESHOT_STOP;