diff options
| -rw-r--r-- | drivers/leds/led-triggers.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c index df1a7c15f12d..c3734f10fdd5 100644 --- a/drivers/leds/led-triggers.c +++ b/drivers/leds/led-triggers.c | |||
| @@ -219,9 +219,12 @@ void led_trigger_unregister(struct led_trigger *trig) | |||
| 219 | { | 219 | { |
| 220 | struct led_classdev *led_cdev; | 220 | struct led_classdev *led_cdev; |
| 221 | 221 | ||
| 222 | if (list_empty_careful(&trig->next_trig)) | ||
| 223 | return; | ||
| 224 | |||
| 222 | /* Remove from the list of led triggers */ | 225 | /* Remove from the list of led triggers */ |
| 223 | down_write(&triggers_list_lock); | 226 | down_write(&triggers_list_lock); |
| 224 | list_del(&trig->next_trig); | 227 | list_del_init(&trig->next_trig); |
| 225 | up_write(&triggers_list_lock); | 228 | up_write(&triggers_list_lock); |
| 226 | 229 | ||
| 227 | /* Remove anyone actively using this trigger */ | 230 | /* Remove anyone actively using this trigger */ |
