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
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-led-core-Fix-brightness-setting-when-setting-delay_off-0.patch')
-rw-r--r--recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-led-core-Fix-brightness-setting-when-setting-delay_off-0.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-led-core-Fix-brightness-setting-when-setting-delay_off-0.patch b/recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-led-core-Fix-brightness-setting-when-setting-delay_off-0.patch
new file mode 100644
index 0000000..61aa7e1
--- /dev/null
+++ b/recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-led-core-Fix-brightness-setting-when-setting-delay_off-0.patch
@@ -0,0 +1,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;
+