aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/leds/led-triggers.c5
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 */