diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c index 3f82b219b45bc..573c4548e441e 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c @@ -891,16 +891,9 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg, /* Set EBS as successful as long as not stated otherwise by the FW. */ mvm->last_ebs_successful = true; - err = iwl_mvm_mac_setup_register(mvm); - if (err) - goto out_free; - mvm->hw_registered = true; - min_backoff = iwl_mvm_min_backoff(mvm); iwl_mvm_thermal_initialize(mvm, min_backoff); - iwl_mvm_dbgfs_register(mvm, dbgfs_dir); - if (!iwl_mvm_has_new_rx_stats_api(mvm)) memset(&mvm->rx_stats_v3, 0, sizeof(struct mvm_statistics_rx_v3)); @@ -909,8 +902,17 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg, iwl_mvm_toggle_tx_ant(mvm, &mvm->mgmt_last_antenna_idx); + err = iwl_mvm_mac_setup_register(mvm); + if (err) + goto out_thermal_exit; + mvm->hw_registered = true; + + iwl_mvm_dbgfs_register(mvm, dbgfs_dir); + return op_mode; + out_thermal_exit: + iwl_mvm_thermal_exit(mvm); out_free: iwl_fw_flush_dumps(&mvm->fwrt); iwl_fw_runtime_free(&mvm->fwrt);