aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn.c
diff options
context:
space:
mode:
authorMohamed Abbas <mohamed.abbas@intel.com>2009-06-03 14:44:10 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-06-04 10:58:11 -0400
commit258c44a0c02a7ffbb9555747008d6bf9a3ea58a0 (patch)
treea3d7585c5e99547d4322c4ac4385193c41c4be1d /drivers/net/wireless/iwlwifi/iwl-agn.c
parentee5006a19c9e040d715efb75a6f4fa78764869ce (diff)
iwlagn: delay ict interrupt.
Wait until ucode is loaded and driver receive ALIVE_REPLY then switch to ICT interrupt. This ensures we receive all interrupts indicating successful ucode load. Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index e6ecb3fb8ec9..b77208de92ad 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -1887,8 +1887,6 @@ static int __iwl_up(struct iwl_priv *priv)
1887 1887
1888 /* clear (again), then enable host interrupts */ 1888 /* clear (again), then enable host interrupts */
1889 iwl_write32(priv, CSR_INT, 0xFFFFFFFF); 1889 iwl_write32(priv, CSR_INT, 0xFFFFFFFF);
1890 /* enable dram interrupt */
1891 iwl_reset_ict(priv);
1892 iwl_enable_interrupts(priv); 1890 iwl_enable_interrupts(priv);
1893 1891
1894 /* really make sure rfkill handshake bits are cleared */ 1892 /* really make sure rfkill handshake bits are cleared */
@@ -1962,6 +1960,9 @@ static void iwl_bg_alive_start(struct work_struct *data)
1962 if (test_bit(STATUS_EXIT_PENDING, &priv->status)) 1960 if (test_bit(STATUS_EXIT_PENDING, &priv->status))
1963 return; 1961 return;
1964 1962
1963 /* enable dram interrupt */
1964 iwl_reset_ict(priv);
1965
1965 mutex_lock(&priv->mutex); 1966 mutex_lock(&priv->mutex);
1966 iwl_alive_start(priv); 1967 iwl_alive_start(priv);
1967 mutex_unlock(&priv->mutex); 1968 mutex_unlock(&priv->mutex);