aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorNick Kossifidis <mickflemm@gmail.com>2011-11-25 13:40:27 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-11-28 14:44:18 -0500
commit84e1e7373b961713bde371b9391d91fe7150d7f2 (patch)
treed3c6286a3b963cdee094ca2c72b7de94587f68a6 /drivers/net
parentdafae6af0336958e9e2eb67cc5e4e31d6d13b308 (diff)
ath5k: Add a module parameter to disable hw rf kill switch
Add a module parameter to disable hw rf kill switch (GPIO interrupt) because in some cases when the card doesn't come with the laptop, EEPROM configuration doesn't match laptop's configuration and rf kill interrupt always fires up and disables hw. I thought of moving this to debugfs and make it per-card but this way it's easier for users and distros to handle. Signed-off-by: Nick Kossifidis <mickflemm@gmail.com> Tested-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/ath/ath5k/base.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index 9bb40b002fad..02207fa62675 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -80,6 +80,11 @@ static int modparam_fastchanswitch;
80module_param_named(fastchanswitch, modparam_fastchanswitch, bool, S_IRUGO); 80module_param_named(fastchanswitch, modparam_fastchanswitch, bool, S_IRUGO);
81MODULE_PARM_DESC(fastchanswitch, "Enable fast channel switching for AR2413/AR5413 radios."); 81MODULE_PARM_DESC(fastchanswitch, "Enable fast channel switching for AR2413/AR5413 radios.");
82 82
83static int ath5k_modparam_no_hw_rfkill_switch;
84module_param_named(no_hw_rfkill_switch, ath5k_modparam_no_hw_rfkill_switch,
85 bool, S_IRUGO);
86MODULE_PARM_DESC(no_hw_rfkill_switch, "Ignore the GPIO RFKill switch state");
87
83 88
84/* Module info */ 89/* Module info */
85MODULE_AUTHOR("Jiri Slaby"); 90MODULE_AUTHOR("Jiri Slaby");
@@ -2635,7 +2640,8 @@ int ath5k_start(struct ieee80211_hw *hw)
2635 if (ret) 2640 if (ret)
2636 goto done; 2641 goto done;
2637 2642
2638 ath5k_rfkill_hw_start(ah); 2643 if (!ath5k_modparam_no_hw_rfkill_switch)
2644 ath5k_rfkill_hw_start(ah);
2639 2645
2640 /* 2646 /*
2641 * Reset the key cache since some parts do not reset the 2647 * Reset the key cache since some parts do not reset the
@@ -2719,7 +2725,8 @@ void ath5k_stop(struct ieee80211_hw *hw)
2719 2725
2720 cancel_delayed_work_sync(&ah->tx_complete_work); 2726 cancel_delayed_work_sync(&ah->tx_complete_work);
2721 2727
2722 ath5k_rfkill_hw_stop(ah); 2728 if (!ath5k_modparam_no_hw_rfkill_switch)
2729 ath5k_rfkill_hw_stop(ah);
2723} 2730}
2724 2731
2725/* 2732/*