}
                mutex_unlock(&rfkill->mutex);
        }
+       rfkill_led_trigger(rfkill, rfkill->state);
 }
 
 /**
        oldstate = rfkill->state;
 
        if (rfkill->get_state && !force &&
-           !rfkill->get_state(rfkill->data, &newstate))
+           !rfkill->get_state(rfkill->data, &newstate)) {
                rfkill->state = newstate;
+       }
 
        switch (state) {
        case RFKILL_STATE_HARD_BLOCKED:
        if (force || rfkill->state != oldstate)
                rfkill_uevent(rfkill);
 
+       rfkill_led_trigger(rfkill, rfkill->state);
        return retval;
 }
 
                        mutex_lock(&rfkill->mutex);
                        rfkill_toggle_radio(rfkill, state, 0);
                        mutex_unlock(&rfkill->mutex);
+                       rfkill_led_trigger(rfkill, rfkill->state);
                }
        }
 }
                                RFKILL_STATE_SOFT_BLOCKED;
        }
        mutex_unlock(&rfkill_global_mutex);
+       rfkill_led_trigger(rfkill, rfkill->state);
 }
 EXPORT_SYMBOL_GPL(rfkill_epo);
 
                rfkill_uevent(rfkill);
 
        mutex_unlock(&rfkill->mutex);
+       rfkill_led_trigger(rfkill, rfkill->state);
 
        return 0;
 }
                                1);
 
                mutex_unlock(&rfkill->mutex);
+               rfkill_led_trigger(rfkill, rfkill->state);
        }
 
        return 0;