aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2011-02-06 11:56:35 -0500
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2011-02-11 14:51:49 -0500
commitc4197c6298750d308fc819c0525902f49ab920fb (patch)
treef93e23924918d972898994e9db59ea026148b375
parent6d1d4ea4a82f8c17a3ff7c2f677bc3d41ea7484b (diff)
iwlagn: donot process bt update when bt coex disable
If bt coex is disabled, do not process any bt related information from uCode even received. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-lib.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
index 3aa486437509..325ff5c89ee8 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
@@ -1832,7 +1832,7 @@ void iwlagn_send_advance_bt_config(struct iwl_priv *priv)
1832 * IBSS mode (no proper uCode support for coex then). 1832 * IBSS mode (no proper uCode support for coex then).
1833 */ 1833 */
1834 if (!bt_coex_active || priv->iw_mode == NL80211_IFTYPE_ADHOC) { 1834 if (!bt_coex_active || priv->iw_mode == NL80211_IFTYPE_ADHOC) {
1835 bt_cmd.flags = 0; 1835 bt_cmd.flags = IWLAGN_BT_FLAG_COEX_MODE_DISABLED;
1836 } else { 1836 } else {
1837 bt_cmd.flags = IWLAGN_BT_FLAG_COEX_MODE_3W << 1837 bt_cmd.flags = IWLAGN_BT_FLAG_COEX_MODE_3W <<
1838 IWLAGN_BT_FLAG_COEX_MODE_SHIFT; 1838 IWLAGN_BT_FLAG_COEX_MODE_SHIFT;
@@ -1869,6 +1869,11 @@ static void iwlagn_bt_traffic_change_work(struct work_struct *work)
1869 struct iwl_rxon_context *ctx; 1869 struct iwl_rxon_context *ctx;
1870 int smps_request = -1; 1870 int smps_request = -1;
1871 1871
1872 if (priv->bt_enable_flag == IWLAGN_BT_FLAG_COEX_MODE_DISABLED) {
1873 /* bt coex disabled */
1874 return;
1875 }
1876
1872 /* 1877 /*
1873 * Note: bt_traffic_load can be overridden by scan complete and 1878 * Note: bt_traffic_load can be overridden by scan complete and
1874 * coex profile notifications. Ignore that since only bad consequence 1879 * coex profile notifications. Ignore that since only bad consequence
@@ -2022,6 +2027,11 @@ void iwlagn_bt_coex_profile_notif(struct iwl_priv *priv,
2022 struct iwl_bt_coex_profile_notif *coex = &pkt->u.bt_coex_profile_notif; 2027 struct iwl_bt_coex_profile_notif *coex = &pkt->u.bt_coex_profile_notif;
2023 struct iwl_bt_uart_msg *uart_msg = &coex->last_bt_uart_msg; 2028 struct iwl_bt_uart_msg *uart_msg = &coex->last_bt_uart_msg;
2024 2029
2030 if (priv->bt_enable_flag == IWLAGN_BT_FLAG_COEX_MODE_DISABLED) {
2031 /* bt coex disabled */
2032 return;
2033 }
2034
2025 IWL_DEBUG_NOTIF(priv, "BT Coex notification:\n"); 2035 IWL_DEBUG_NOTIF(priv, "BT Coex notification:\n");
2026 IWL_DEBUG_NOTIF(priv, " status: %d\n", coex->bt_status); 2036 IWL_DEBUG_NOTIF(priv, " status: %d\n", coex->bt_status);
2027 IWL_DEBUG_NOTIF(priv, " traffic load: %d\n", coex->bt_traffic_load); 2037 IWL_DEBUG_NOTIF(priv, " traffic load: %d\n", coex->bt_traffic_load);