summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ipw2200.c
diff options
context:
space:
mode:
authorZhu Yi <yi.zhu@intel.com>2006-04-13 13:19:36 +0400
committerJohn W. Linville <linville@tuxdriver.com>2006-04-25 00:15:55 +0400
commitd2b83e1214a8395ee18e028d4526cffe9d2eb4ad (patch)
tree883bb1cfe11a76e92dfcc6b6dc40a4a3ba5420f7 /drivers/net/wireless/ipw2200.c
parent07f02e4625e6d7ca5d4f3835aea9807fe1e0f9c5 (diff)
downloadlinux-d2b83e1214a8395ee18e028d4526cffe9d2eb4ad.tar.xz
[PATCH] ipw2200: add module_param support for antenna selection
Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ipw2200.c')
-rw-r--r--drivers/net/wireless/ipw2200.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index 61cbf2ec0ab4..297dd76177cc 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -61,6 +61,7 @@ static int roaming = 1;
static const char ipw_modes[] = {
'a', 'b', 'g', '?'
};
+static int antenna = CFG_SYS_ANTENNA_BOTH;
#ifdef CONFIG_IPW_QOS
static int qos_enable = 0;
@@ -9627,7 +9628,9 @@ static void init_sys_config(struct ipw_sys_config *sys_config)
sys_config->disable_unicast_decryption = 1;
sys_config->exclude_multicast_unencrypted = 0;
sys_config->disable_multicast_decryption = 1;
- sys_config->antenna_diversity = CFG_SYS_ANTENNA_SLOW_DIV;
+ if (antenna < CFG_SYS_ANTENNA_BOTH || antenna > CFG_SYS_ANTENNA_B)
+ antenna = CFG_SYS_ANTENNA_BOTH;
+ sys_config->antenna_diversity = antenna;
sys_config->pass_crc_to_host = 0; /* TODO: See if 1 gives us FCS */
sys_config->dot11g_auto_detection = 0;
sys_config->enable_cts_to_self = 0;
@@ -11258,5 +11261,8 @@ MODULE_PARM_DESC(cmdlog,
module_param(roaming, int, 0444);
MODULE_PARM_DESC(roaming, "enable roaming support (default on)");
+module_param(antenna, int, 0444);
+MODULE_PARM_DESC(antenna, "select antenna 1=Main, 3=Aux, default 0 [both], 2=slow_diversity (choose the one with lower background noise)");
+
module_exit(ipw_exit);
module_init(ipw_init);