summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhu, Yi <yi.zhu@intel.com>2008-12-05 07:58:39 -0800
committerJohn W. Linville <linville@tuxdriver.com>2008-12-12 13:48:21 -0500
commit42802d71dd14dd0e435a8da59d817d0c6f8a2866 (patch)
treef836e1cfbd4e6a8d49d79e37cc2cbaf2aa88c434
parentf056658bb9c3085d5ec52fbdd45b38d55b899cc9 (diff)
downloadlinux-42802d71dd14dd0e435a8da59d817d0c6f8a2866.tar.gz
linux-42802d71dd14dd0e435a8da59d817d0c6f8a2866.tar.bz2
linux-42802d71dd14dd0e435a8da59d817d0c6f8a2866.zip
iwlwifi: fix "MAC in deep sleep" error
This patch fixes the misue of CSR_GP_CNTRL with CSR_RESET address in polling the CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY bit in iwl4965_apm_reset(). This causes "MAC in deep sleep" error sometimes. The patch also fixes the timeout value and the iwl_poll_bit() return value check. Signed-off-by: Zhu Yi <yi.zhu@intel.com> Acked-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index 87c7bb0d5044..c961e2c716d3 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -482,11 +482,11 @@ static int iwl4965_apm_reset(struct iwl_priv *priv)
iwl_set_bit(priv, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_INIT_DONE);
- ret = iwl_poll_bit(priv, CSR_RESET,
+ ret = iwl_poll_bit(priv, CSR_GP_CNTRL,
CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY,
- CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY, 25);
+ CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY, 25000);
- if (ret)
+ if (ret < 0)
goto out;
udelay(10);