diff options
Diffstat (limited to 'net/rfkill/rfkill.c')
-rw-r--r-- | net/rfkill/rfkill.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/net/rfkill/rfkill.c b/net/rfkill/rfkill.c index dd1c3f18f31d..7d07175c407f 100644 --- a/net/rfkill/rfkill.c +++ b/net/rfkill/rfkill.c | |||
@@ -182,6 +182,24 @@ void rfkill_switch_all(enum rfkill_type type, enum rfkill_state state) | |||
182 | EXPORT_SYMBOL(rfkill_switch_all); | 182 | EXPORT_SYMBOL(rfkill_switch_all); |
183 | 183 | ||
184 | /** | 184 | /** |
185 | * rfkill_epo - emergency power off all transmitters | ||
186 | * | ||
187 | * This kicks all rfkill devices to RFKILL_STATE_OFF, ignoring | ||
188 | * everything in its path but rfkill_mutex. | ||
189 | */ | ||
190 | void rfkill_epo(void) | ||
191 | { | ||
192 | struct rfkill *rfkill; | ||
193 | |||
194 | mutex_lock(&rfkill_mutex); | ||
195 | list_for_each_entry(rfkill, &rfkill_list, node) { | ||
196 | rfkill_toggle_radio(rfkill, RFKILL_STATE_OFF, 1); | ||
197 | } | ||
198 | mutex_unlock(&rfkill_mutex); | ||
199 | } | ||
200 | EXPORT_SYMBOL_GPL(rfkill_epo); | ||
201 | |||
202 | /** | ||
185 | * rfkill_force_state - Force the internal rfkill radio state | 203 | * rfkill_force_state - Force the internal rfkill radio state |
186 | * @rfkill: pointer to the rfkill class to modify. | 204 | * @rfkill: pointer to the rfkill class to modify. |
187 | * @state: the current radio state the class should be forced to. | 205 | * @state: the current radio state the class should be forced to. |