--- a/net/mac80211/led.c +++ b/net/mac80211/led.c @@ -103,13 +103,6 @@ void ieee80211_led_init(struct ieee80211 local->radio_led = NULL; } } - - if (local->tpt_led_trigger) { - if (led_trigger_register(&local->tpt_led_trigger->trig)) { - kfree(local->tpt_led_trigger); - local->tpt_led_trigger = NULL; - } - } } void ieee80211_led_exit(struct ieee80211_local *local) @@ -243,6 +236,12 @@ extern char *__ieee80211_create_tpt_led_ local->tpt_led_trigger = tpt_trig; + if (led_trigger_register(&local->tpt_led_trigger->trig)) { + kfree(local->tpt_led_trigger); + local->tpt_led_trigger = NULL; + return NULL; + } + return tpt_trig->name; } EXPORT_SYMBOL(__ieee80211_create_tpt_led_trigger);