Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42802d71 authored by Zhu, Yi's avatar Zhu, Yi Committed by John W. Linville
Browse files

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: default avatarZhu Yi <yi.zhu@intel.com>
Acked-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent f056658b
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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);