aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl4965-base.c
diff options
context:
space:
mode:
authorReinette Chatre <reinette.chatre@intel.com>2008-01-31 01:05:15 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-02-01 16:14:21 -0500
commite903fbd41e9a723da194e91816bfb69d442eb116 (patch)
tree88a8ca0c8be3a9a41b46e2826ea370c49892ad95 /drivers/net/wireless/iwlwifi/iwl4965-base.c
parentff5059eff254fbe1d2aa4f47e24aa6fc71b98e65 (diff)
iwlwifi: fix merge sequence: exit on error before state change
The intention behind the original patch: "iwlwifi: fix possible read attempt on ucode that is not available" was to exit before any state is changed. Due to its submission directly to 2.6.24 it was not clear how this relates to the latest iwlwifi work. This patch does exactly the same as the previous patch, just earlier to prevent any state from being changed if there is an error. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl4965-base.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index bf3a60c037aa..f423241b9567 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -6755,6 +6755,11 @@ static int __iwl4965_up(struct iwl4965_priv *priv)
6755 return -ENODEV; 6755 return -ENODEV;
6756 } 6756 }
6757 6757
6758 if (!priv->ucode_data_backup.v_addr || !priv->ucode_data.v_addr) {
6759 IWL_ERROR("ucode not available for device bringup\n");
6760 return -EIO;
6761 }
6762
6758 /* If platform's RF_KILL switch is NOT set to KILL */ 6763 /* If platform's RF_KILL switch is NOT set to KILL */
6759 if (iwl4965_read32(priv, CSR_GP_CNTRL) & 6764 if (iwl4965_read32(priv, CSR_GP_CNTRL) &
6760 CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW) 6765 CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW)
@@ -6767,11 +6772,6 @@ static int __iwl4965_up(struct iwl4965_priv *priv)
6767 } 6772 }
6768 } 6773 }
6769 6774
6770 if (!priv->ucode_data_backup.v_addr || !priv->ucode_data.v_addr) {
6771 IWL_ERROR("ucode not available for device bringup\n");
6772 return -EIO;
6773 }
6774
6775 iwl4965_write32(priv, CSR_INT, 0xFFFFFFFF); 6775 iwl4965_write32(priv, CSR_INT, 0xFFFFFFFF);
6776 6776
6777 rc = iwl4965_hw_nic_init(priv); 6777 rc = iwl4965_hw_nic_init(priv);