diff options
-rw-r--r-- | drivers/leds/led-class.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c index d946991091fb..14139c337312 100644 --- a/drivers/leds/led-class.c +++ b/drivers/leds/led-class.c | |||
@@ -245,12 +245,13 @@ void led_classdev_unregister(struct led_classdev *led_cdev) | |||
245 | up_write(&led_cdev->trigger_lock); | 245 | up_write(&led_cdev->trigger_lock); |
246 | #endif | 246 | #endif |
247 | 247 | ||
248 | cancel_work_sync(&led_cdev->set_brightness_work); | ||
249 | |||
250 | /* Stop blinking */ | 248 | /* Stop blinking */ |
251 | led_stop_software_blink(led_cdev); | 249 | led_stop_software_blink(led_cdev); |
250 | |||
252 | led_set_brightness(led_cdev, LED_OFF); | 251 | led_set_brightness(led_cdev, LED_OFF); |
253 | 252 | ||
253 | flush_work(&led_cdev->set_brightness_work); | ||
254 | |||
254 | device_unregister(led_cdev->dev); | 255 | device_unregister(led_cdev->dev); |
255 | 256 | ||
256 | down_write(&leds_list_lock); | 257 | down_write(&leds_list_lock); |