diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2011-06-03 16:52:38 -0400 |
---|---|---|
committer | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2011-06-11 10:08:39 -0400 |
commit | b60eec9bf07307ad40e9304d39eb9107acb2fb0c (patch) | |
tree | 90d2f844f74bdf7c6f40da2619b33c656189a97d | |
parent | eb64dca0c9d73e191026ed37d1075f22e48b3f1c (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.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 20 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.c | 23 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.h | 2 |
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 | ||
4076 | module_param_named(ack_check, iwlagn_mod_params.ack_check, bool, S_IRUGO); | 4076 | module_param_named(ack_check, iwlagn_mod_params.ack_check, bool, S_IRUGO); |
4077 | MODULE_PARM_DESC(ack_check, "Check ack health (default: 0 [disabled])"); | 4077 | MODULE_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 | */ | ||
4095 | module_param_named(bt_coex_active, iwlagn_mod_params.bt_coex_active, | ||
4096 | bool, S_IRUGO); | ||
4097 | MODULE_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 | */ | ||
63 | bool bt_coex_active = true; | ||
64 | module_param(bt_coex_active, bool, S_IRUGO); | ||
65 | MODULE_PARM_DESC(bt_coex_active, "enable wifi/bluetooth co-exist"); | ||
66 | |||
67 | u32 iwl_debug_level; | 46 | u32 iwl_debug_level; |
68 | 47 | ||
69 | const u8 iwl_bcast_addr[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; | 48 | const 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 | ||
627 | extern bool bt_coex_active; | ||
628 | extern bool bt_siso_mode; | 628 | extern bool bt_siso_mode; |
629 | 629 | ||
630 | 630 | ||