lib/spinlock_debug.c: print owner on spinlock lockup
[firefly-linux-kernel-4.4.55.git] / drivers / leds / led-class.c
index dc3d3d83191a043de95e7e7b41a5aa47cf57100c..661b692573e7790e7d75a4b815cd7741dfe47c74 100644 (file)
@@ -267,9 +267,14 @@ void led_blink_set(struct led_classdev *led_cdev,
                   unsigned long *delay_on,
                   unsigned long *delay_off)
 {
+       del_timer_sync(&led_cdev->blink_timer);
+
        if (led_cdev->blink_set &&
-           !led_cdev->blink_set(led_cdev, delay_on, delay_off))
+           !led_cdev->blink_set(led_cdev, delay_on, delay_off)) {
+               led_cdev->blink_delay_on = *delay_on;
+               led_cdev->blink_delay_off = *delay_off;
                return;
+       }
 
        /* blink with 1 Hz as default if nothing specified */
        if (!*delay_on && !*delay_off)