iwlagn: delay ict interrupt.
authorMohamed Abbas <mohamed.abbas@intel.com>
Wed, 3 Jun 2009 18:44:10 +0000 (11:44 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 4 Jun 2009 14:58:11 +0000 (10:58 -0400)
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>
drivers/net/wireless/iwlwifi/iwl-agn.c

index e6ecb3fb8ec9b4a01dfd0897a2b981e05de1f5ce..b77208de92ad20e5a70b6251f776a268d788a17e 100644 (file)
@@ -1887,8 +1887,6 @@ static int __iwl_up(struct iwl_priv *priv)
 
        /* clear (again), then enable host interrupts */
        iwl_write32(priv, CSR_INT, 0xFFFFFFFF);
-       /* enable dram interrupt */
-       iwl_reset_ict(priv);
        iwl_enable_interrupts(priv);
 
        /* really make sure rfkill handshake bits are cleared */
@@ -1962,6 +1960,9 @@ static void iwl_bg_alive_start(struct work_struct *data)
        if (test_bit(STATUS_EXIT_PENDING, &priv->status))
                return;
 
+       /* enable dram interrupt */
+       iwl_reset_ict(priv);
+
        mutex_lock(&priv->mutex);
        iwl_alive_start(priv);
        mutex_unlock(&priv->mutex);