aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2011-06-03 16:52:38 -0400
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2011-06-11 10:08:39 -0400
commitb60eec9bf07307ad40e9304d39eb9107acb2fb0c (patch)
tree90d2f844f74bdf7c6f40da2619b33c656189a97d
parenteb64dca0c9d73e191026ed37d1075f22e48b3f1c (diff)
iwlagn: move bt_coex_active as part of iwlagn_mod_params
Move bt_coex_active module parameter into iwlagn_mod_params structure along with all the other iwlagn module parameters Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-lib.c4
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c20
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.c23
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.h2
4 files changed, 25 insertions, 24 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
index 677f73c4c1e..f0dacfbe8e9 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
@@ -622,6 +622,7 @@ struct iwl_mod_params iwlagn_mod_params = {
622 .amsdu_size_8K = 1, 622 .amsdu_size_8K = 1,
623 .restart_fw = 1, 623 .restart_fw = 1,
624 .plcp_check = true, 624 .plcp_check = true,
625 .bt_coex_active = true,
625 /* the rest are 0 by default */ 626 /* the rest are 0 by default */
626}; 627};
627 628
@@ -1699,7 +1700,8 @@ void iwlagn_send_advance_bt_config(struct iwl_priv *priv)
1699 * (might be in monitor mode), or the interface is in 1700 * (might be in monitor mode), or the interface is in
1700 * IBSS mode (no proper uCode support for coex then). 1701 * IBSS mode (no proper uCode support for coex then).
1701 */ 1702 */
1702 if (!bt_coex_active || priv->iw_mode == NL80211_IFTYPE_ADHOC) { 1703 if (!iwlagn_mod_params.bt_coex_active ||
1704 priv->iw_mode == NL80211_IFTYPE_ADHOC) {
1703 basic.flags = IWLAGN_BT_FLAG_COEX_MODE_DISABLED; 1705 basic.flags = IWLAGN_BT_FLAG_COEX_MODE_DISABLED;
1704 } else { 1706 } else {
1705 basic.flags = IWLAGN_BT_FLAG_COEX_MODE_3W << 1707 basic.flags = IWLAGN_BT_FLAG_COEX_MODE_3W <<
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 6f1edb4f388..6ecee3cafca 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -4075,3 +4075,23 @@ MODULE_PARM_DESC(plcp_check, "Check plcp health (default: 1 [enabled])");
4075 4075
4076module_param_named(ack_check, iwlagn_mod_params.ack_check, bool, S_IRUGO); 4076module_param_named(ack_check, iwlagn_mod_params.ack_check, bool, S_IRUGO);
4077MODULE_PARM_DESC(ack_check, "Check ack health (default: 0 [disabled])"); 4077MODULE_PARM_DESC(ack_check, "Check ack health (default: 0 [disabled])");
4078
4079/*
4080 * set bt_coex_active to true, uCode will do kill/defer
4081 * every time the priority line is asserted (BT is sending signals on the
4082 * priority line in the PCIx).
4083 * set bt_coex_active to false, uCode will ignore the BT activity and
4084 * perform the normal operation
4085 *
4086 * User might experience transmit issue on some platform due to WiFi/BT
4087 * co-exist problem. The possible behaviors are:
4088 * Able to scan and finding all the available AP
4089 * Not able to associate with any AP
4090 * On those platforms, WiFi communication can be restored by set
4091 * "bt_coex_active" module parameter to "false"
4092 *
4093 * default: bt_coex_active = true (BT_COEX_ENABLE)
4094 */
4095module_param_named(bt_coex_active, iwlagn_mod_params.bt_coex_active,
4096 bool, S_IRUGO);
4097MODULE_PARM_DESC(bt_coex_active, "enable wifi/bt co-exist (default: enable)");
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c
index 5416b12cd93..ad54f82597c 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.c
+++ b/drivers/net/wireless/iwlwifi/iwl-core.c
@@ -43,27 +43,6 @@
43#include "iwl-helpers.h" 43#include "iwl-helpers.h"
44#include "iwl-agn.h" 44#include "iwl-agn.h"
45 45
46
47/*
48 * set bt_coex_active to true, uCode will do kill/defer
49 * every time the priority line is asserted (BT is sending signals on the
50 * priority line in the PCIx).
51 * set bt_coex_active to false, uCode will ignore the BT activity and
52 * perform the normal operation
53 *
54 * User might experience transmit issue on some platform due to WiFi/BT
55 * co-exist problem. The possible behaviors are:
56 * Able to scan and finding all the available AP
57 * Not able to associate with any AP
58 * On those platforms, WiFi communication can be restored by set
59 * "bt_coex_active" module parameter to "false"
60 *
61 * default: bt_coex_active = true (BT_COEX_ENABLE)
62 */
63bool bt_coex_active = true;
64module_param(bt_coex_active, bool, S_IRUGO);
65MODULE_PARM_DESC(bt_coex_active, "enable wifi/bluetooth co-exist");
66
67u32 iwl_debug_level; 46u32 iwl_debug_level;
68 47
69const u8 iwl_bcast_addr[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; 48const u8 iwl_bcast_addr[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
@@ -1179,7 +1158,7 @@ void iwl_send_bt_config(struct iwl_priv *priv)
1179 .kill_cts_mask = 0, 1158 .kill_cts_mask = 0,
1180 }; 1159 };
1181 1160
1182 if (!bt_coex_active) 1161 if (!iwlagn_mod_params.bt_coex_active)
1183 bt_cmd.flags = BT_COEX_DISABLE; 1162 bt_cmd.flags = BT_COEX_DISABLE;
1184 else 1163 else
1185 bt_cmd.flags = BT_COEX_ENABLE; 1164 bt_cmd.flags = BT_COEX_ENABLE;
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
index 05ea88aa76e..1a43a629683 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
@@ -173,6 +173,7 @@ struct iwl_mod_params {
173 int restart_fw; /* def: 1 = restart firmware */ 173 int restart_fw; /* def: 1 = restart firmware */
174 bool plcp_check; /* def: true = enable plcp health check */ 174 bool plcp_check; /* def: true = enable plcp health check */
175 bool ack_check; /* def: false = disable ack health check */ 175 bool ack_check; /* def: false = disable ack health check */
176 bool bt_coex_active; /* def: true = enable bt coex */
176}; 177};
177 178
178/* 179/*
@@ -624,7 +625,6 @@ static inline bool iwl_advanced_bt_coexist(struct iwl_priv *priv)
624 priv->cfg->bt_params->advanced_bt_coexist; 625 priv->cfg->bt_params->advanced_bt_coexist;
625} 626}
626 627
627extern bool bt_coex_active;
628extern bool bt_siso_mode; 628extern bool bt_siso_mode;
629 629
630 630