Hardware may be ready for us to manage it without us trying to prepare
it first. Check if this is the case.
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>
 
        IWL_DEBUG_INFO(priv, "iwl_prepare_card_hw enter \n");
 
+       ret = iwl_set_hw_ready(priv);
+       if (priv->hw_ready)
+               return ret;
+
+       /* If HW is not ready, prepare the conditions to check again */
        iwl_set_bit(priv, CSR_HW_IF_CONFIG_REG,
                        CSR_HW_IF_CONFIG_REG_PREPARE);
 
                        ~CSR_HW_IF_CONFIG_REG_BIT_NIC_PREPARE_DONE,
                        CSR_HW_IF_CONFIG_REG_BIT_NIC_PREPARE_DONE, 150000);
 
+       /* HW should be ready by now, check again. */
        if (ret != -ETIMEDOUT)
                iwl_set_hw_ready(priv);