iwlwifi: mvm: convert ucode_loaded to a status bit
Convert ucode_loaded to a status bit called FIRMWARE_RUNNING. This will make it easier to clear this earlier, to avoid any spurious accesses while shutting down, for example through debugfs. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
parent
aab6930d30
commit
65b280fe9b
|
@ -622,7 +622,7 @@ static int iwl_mvm_load_ucode_wait_alive(struct iwl_mvm *mvm,
|
|||
if (WARN_ON(!fw))
|
||||
return -EINVAL;
|
||||
mvm->cur_ucode = ucode_type;
|
||||
mvm->ucode_loaded = false;
|
||||
clear_bit(IWL_MVM_STATUS_FIRMWARE_RUNNING, &mvm->status);
|
||||
|
||||
iwl_init_notification_wait(&mvm->notif_wait, &alive_wait,
|
||||
alive_cmd, ARRAY_SIZE(alive_cmd),
|
||||
|
@ -696,7 +696,7 @@ static int iwl_mvm_load_ucode_wait_alive(struct iwl_mvm *mvm,
|
|||
for (i = 0; i < IEEE80211_MAX_QUEUES; i++)
|
||||
atomic_set(&mvm->mac80211_queue_stop_count[i], 0);
|
||||
|
||||
mvm->ucode_loaded = true;
|
||||
set_bit(IWL_MVM_STATUS_FIRMWARE_RUNNING, &mvm->status);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -767,7 +767,6 @@ struct iwl_mvm {
|
|||
struct iwl_mvm_vif *bf_allowed_vif;
|
||||
|
||||
enum iwl_ucode_type cur_ucode;
|
||||
bool ucode_loaded;
|
||||
bool hw_registered;
|
||||
bool calibrating;
|
||||
u32 error_event_table[2];
|
||||
|
@ -1088,6 +1087,7 @@ enum iwl_mvm_status {
|
|||
IWL_MVM_STATUS_ROC_AUX_RUNNING,
|
||||
IWL_MVM_STATUS_D3_RECONFIG,
|
||||
IWL_MVM_STATUS_DUMPING_FW_LOG,
|
||||
IWL_MVM_STATUS_FIRMWARE_RUNNING,
|
||||
};
|
||||
|
||||
/* Keep track of completed init configuration */
|
||||
|
@ -1111,7 +1111,7 @@ static inline bool iwl_mvm_is_radio_hw_killed(struct iwl_mvm *mvm)
|
|||
|
||||
static inline bool iwl_mvm_firmware_running(struct iwl_mvm *mvm)
|
||||
{
|
||||
return mvm->ucode_loaded;
|
||||
return test_bit(IWL_MVM_STATUS_FIRMWARE_RUNNING, &mvm->status);
|
||||
}
|
||||
|
||||
/* Must be called with rcu_read_lock() held and it can only be
|
||||
|
@ -1771,7 +1771,7 @@ static inline void iwl_mvm_stop_device(struct iwl_mvm *mvm)
|
|||
{
|
||||
if (!iwl_mvm_has_new_tx_api(mvm))
|
||||
iwl_free_fw_paging(mvm);
|
||||
mvm->ucode_loaded = false;
|
||||
clear_bit(IWL_MVM_STATUS_FIRMWARE_RUNNING, &mvm->status);
|
||||
iwl_trans_stop_device(mvm->trans);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue