Commit 71e0c6c2 authored by Stanislaw Gruszka's avatar Stanislaw Gruszka Committed by John W. Linville

iwlegacy: small il4965_set_hw_ready cleanup

Signed-off-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 586e45e3
...@@ -5446,40 +5446,36 @@ il4965_down(struct il_priv *il) ...@@ -5446,40 +5446,36 @@ il4965_down(struct il_priv *il)
il4965_cancel_deferred_work(il); il4965_cancel_deferred_work(il);
} }
#define HW_READY_TIMEOUT (50)
static int static void
il4965_set_hw_ready(struct il_priv *il) il4965_set_hw_ready(struct il_priv *il)
{ {
int ret = 0; int ret;
il_set_bit(il, CSR_HW_IF_CONFIG_REG, il_set_bit(il, CSR_HW_IF_CONFIG_REG,
CSR_HW_IF_CONFIG_REG_BIT_NIC_READY); CSR_HW_IF_CONFIG_REG_BIT_NIC_READY);
/* See if we got it */ /* See if we got it */
ret = ret = _il_poll_bit(il, CSR_HW_IF_CONFIG_REG,
_il_poll_bit(il, CSR_HW_IF_CONFIG_REG, CSR_HW_IF_CONFIG_REG_BIT_NIC_READY,
CSR_HW_IF_CONFIG_REG_BIT_NIC_READY, CSR_HW_IF_CONFIG_REG_BIT_NIC_READY,
CSR_HW_IF_CONFIG_REG_BIT_NIC_READY, HW_READY_TIMEOUT); 100);
if (ret != -ETIMEDOUT) if (ret >= 0)
il->hw_ready = true; il->hw_ready = true;
else
il->hw_ready = false;
D_INFO("hardware %s\n", (il->hw_ready == 1) ? "ready" : "not ready"); D_INFO("hardware %s ready\n", (il->hw_ready) ? "" : "not");
return ret;
} }
static int static void
il4965_prepare_card_hw(struct il_priv *il) il4965_prepare_card_hw(struct il_priv *il)
{ {
int ret = 0; int ret;
D_INFO("il4965_prepare_card_hw enter\n"); il->hw_ready = false;
ret = il4965_set_hw_ready(il); il4965_set_hw_ready(il);
if (il->hw_ready) if (il->hw_ready)
return ret; return;
/* If HW is not ready, prepare the conditions to check again */ /* If HW is not ready, prepare the conditions to check again */
il_set_bit(il, CSR_HW_IF_CONFIG_REG, CSR_HW_IF_CONFIG_REG_PREPARE); il_set_bit(il, CSR_HW_IF_CONFIG_REG, CSR_HW_IF_CONFIG_REG_PREPARE);
...@@ -5492,8 +5488,6 @@ il4965_prepare_card_hw(struct il_priv *il) ...@@ -5492,8 +5488,6 @@ il4965_prepare_card_hw(struct il_priv *il)
/* HW should be ready by now, check again. */ /* HW should be ready by now, check again. */
if (ret != -ETIMEDOUT) if (ret != -ETIMEDOUT)
il4965_set_hw_ready(il); il4965_set_hw_ready(il);
return ret;
} }
#define MAX_HW_RESTARTS 5 #define MAX_HW_RESTARTS 5
...@@ -5521,9 +5515,8 @@ __il4965_up(struct il_priv *il) ...@@ -5521,9 +5515,8 @@ __il4965_up(struct il_priv *il)
} }
il4965_prepare_card_hw(il); il4965_prepare_card_hw(il);
if (!il->hw_ready) { if (!il->hw_ready) {
IL_WARN("Exit HW not ready\n"); IL_ERR("HW not ready\n");
return -EIO; return -EIO;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment