aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn.c
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2010-10-11 17:24:05 -0400
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2010-10-12 11:33:25 -0400
commitbc795df1d225415c2ec6ff2a81c07a753681d945 (patch)
treeba78f4206b59339ba0b41f7a3871bb3173a57f57 /drivers/net/wireless/iwlwifi/iwl-agn.c
parenta5901cbb5783b25fa71536503bfa4617d8ee41bd (diff)
iwlagn: prio_tbl need to download before calibration
For WiFi/BT combo devices, priority table always need to download before perform any calibration operation. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 4470e8c80e9f..6771c404fa73 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -2809,9 +2809,6 @@ static void iwl_alive_start(struct iwl_priv *priv)
2809 goto restart; 2809 goto restart;
2810 } 2810 }
2811 2811
2812 if (priv->hw_params.calib_rt_cfg)
2813 iwlagn_send_calib_cfg_rt(priv, priv->hw_params.calib_rt_cfg);
2814
2815 2812
2816 /* After the ALIVE response, we can send host commands to the uCode */ 2813 /* After the ALIVE response, we can send host commands to the uCode */
2817 set_bit(STATUS_ALIVE, &priv->status); 2814 set_bit(STATUS_ALIVE, &priv->status);
@@ -2827,6 +2824,7 @@ static void iwl_alive_start(struct iwl_priv *priv)
2827 if (iwl_is_rfkill(priv)) 2824 if (iwl_is_rfkill(priv))
2828 return; 2825 return;
2829 2826
2827 /* download priority table before any calibration request */
2830 if (priv->cfg->bt_params && 2828 if (priv->cfg->bt_params &&
2831 priv->cfg->bt_params->advanced_bt_coexist) { 2829 priv->cfg->bt_params->advanced_bt_coexist) {
2832 /* Configure Bluetooth device coexistence support */ 2830 /* Configure Bluetooth device coexistence support */
@@ -2843,6 +2841,9 @@ static void iwl_alive_start(struct iwl_priv *priv)
2843 iwlagn_send_bt_env(priv, IWL_BT_COEX_ENV_CLOSE, 2841 iwlagn_send_bt_env(priv, IWL_BT_COEX_ENV_CLOSE,
2844 BT_COEX_PRIO_TBL_EVT_INIT_CALIB2); 2842 BT_COEX_PRIO_TBL_EVT_INIT_CALIB2);
2845 } 2843 }
2844 if (priv->hw_params.calib_rt_cfg)
2845 iwlagn_send_calib_cfg_rt(priv, priv->hw_params.calib_rt_cfg);
2846
2846 ieee80211_wake_queues(priv->hw); 2847 ieee80211_wake_queues(priv->hw);
2847 2848
2848 priv->active_rate = IWL_RATES_MASK; 2849 priv->active_rate = IWL_RATES_MASK;