@@ -460,7 +460,7 @@ static int iwl_mvm_load_ucode_wait_alive(struct iwl_mvm *mvm,
return 0;
}
-static int iwl_run_unified_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm)
+static int iwl_run_unified_mvm_ucode(struct iwl_mvm *mvm)
{
struct iwl_notification_wait init_wait;
struct iwl_nvm_access_complete_cmd nvm_complete = {};
@@ -517,7 +517,7 @@ static int iwl_run_unified_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm)
iwl_mvm_load_nvm_to_nic(mvm);
}
- if (IWL_MVM_PARSE_NVM && read_nvm) {
+ if (IWL_MVM_PARSE_NVM && !mvm->nvm_data) {
ret = iwl_nvm_init(mvm);
if (ret) {
IWL_ERR(mvm, "Failed to read NVM: %d\n", ret);
@@ -542,7 +542,7 @@ static int iwl_run_unified_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm)
return ret;
/* Read the NVM only at driver load time, no need to do this twice */
- if (!IWL_MVM_PARSE_NVM && read_nvm) {
+ if (!IWL_MVM_PARSE_NVM && !mvm->nvm_data) {
mvm->nvm_data = iwl_get_nvm(mvm->trans, mvm->fw);
if (IS_ERR(mvm->nvm_data)) {
ret = PTR_ERR(mvm->nvm_data);
@@ -657,7 +657,7 @@ int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm)
int ret;
if (iwl_mvm_has_unified_ucode(mvm))
- return iwl_run_unified_mvm_ucode(mvm, true);
+ return iwl_run_unified_mvm_ucode(mvm);
lockdep_assert_held(&mvm->mutex);
@@ -1330,7 +1330,7 @@ static int iwl_mvm_load_rt_fw(struct iwl_mvm *mvm)
int ret;
if (iwl_mvm_has_unified_ucode(mvm))
- return iwl_run_unified_mvm_ucode(mvm, false);
+ return iwl_run_unified_mvm_ucode(mvm);
WARN_ON(!mvm->nvm_data);
ret = iwl_run_init_mvm_ucode(mvm);