iwl3945: fix deep sleep when removing the driver.
[pandora-kernel.git] / drivers / net / wireless / iwlwifi / iwl-3945.c
index fe907f3..4aeb101 100644 (file)
@@ -1338,6 +1338,9 @@ static int iwl3945_apm_reset(struct iwl_priv *priv)
        spin_lock_irqsave(&priv->lock, flags);
 
        iwl_set_bit(priv, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET);
+       udelay(10);
+
+       iwl_set_bit(priv, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_INIT_DONE);
 
        iwl_poll_direct_bit(priv, CSR_GP_CNTRL,
                         CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY, 25000);
@@ -1347,11 +1350,6 @@ static int iwl3945_apm_reset(struct iwl_priv *priv)
                iwl_write_prph(priv, APMG_CLK_CTRL_REG,
                                         APMG_CLK_VAL_BSM_CLK_RQT);
 
-               udelay(10);
-
-               iwl_set_bit(priv, CSR_GP_CNTRL,
-                           CSR_GP_CNTRL_REG_FLAG_INIT_DONE);
-
                iwl_write_prph(priv, APMG_RTC_INT_MSK_REG, 0x0);
                iwl_write_prph(priv, APMG_RTC_INT_STT_REG,
                                        0xFFFFFFFF);