Skip to content

Commit

Permalink
rfkill: add parameter to disable radios by default
Browse files Browse the repository at this point in the history
Currently, radios are always enabled when their rfkill interface is
registered.  This is not optimal, the safest state for a radio is to be
offline unless the user turns it on.

Add a module parameter that causes all radios to be disabled when their
rfkill interface is registered.  The module default is not changed so
unless the parameter is used, radios will still be forced to their enabled
state when they are registered.

The new rfkill module parameter is called "default_state".

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Henrique de Moraes Holschuh authored and John W. Linville committed Jun 26, 2008
1 parent 28f089c commit e954b0b
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion net/rfkill/rfkill.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ MODULE_LICENSE("GPL");
static LIST_HEAD(rfkill_list); /* list of registered rf switches */
static DEFINE_MUTEX(rfkill_mutex);

static unsigned int rfkill_default_state = RFKILL_STATE_ON;
module_param_named(default_state, rfkill_default_state, uint, 0444);
MODULE_PARM_DESC(default_state,
"Default initial state for all radio types, 0 = radio off");

static enum rfkill_state rfkill_states[RFKILL_TYPE_MAX];


Expand Down Expand Up @@ -436,8 +441,12 @@ static int __init rfkill_init(void)
int error;
int i;

if (rfkill_default_state != RFKILL_STATE_OFF &&
rfkill_default_state != RFKILL_STATE_ON)
return -EINVAL;

for (i = 0; i < ARRAY_SIZE(rfkill_states); i++)
rfkill_states[i] = RFKILL_STATE_ON;
rfkill_states[i] = rfkill_default_state;

error = class_register(&rfkill_class);
if (error) {
Expand Down

0 comments on commit e954b0b

Please sign in to comment.