]> Git Repo - linux.git/commitdiff
iwlwifi: mvm: clear rfkill_safe_init_done when we start the firmware
authorEmmanuel Grumbach <[email protected]>
Wed, 22 May 2019 09:22:35 +0000 (12:22 +0300)
committerLuca Coelho <[email protected]>
Sat, 29 Jun 2019 07:14:45 +0000 (10:14 +0300)
Otherwise it'll stay set forever which is clearly buggy.

Cc: [email protected]
Signed-off-by: Emmanuel Grumbach <[email protected]>
Signed-off-by: Luca Coelho <[email protected]>
drivers/net/wireless/intel/iwlwifi/mvm/fw.c

index 53cbf051a2d7706d1804e864ff6bc89cf134b10b..1d608e9e91018447465672734570a38c515e3bf7 100644 (file)
@@ -421,6 +421,8 @@ static int iwl_run_unified_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm)
 
        lockdep_assert_held(&mvm->mutex);
 
+       mvm->rfkill_safe_init_done = false;
+
        iwl_init_notification_wait(&mvm->notif_wait,
                                   &init_wait,
                                   init_complete,
@@ -539,8 +541,7 @@ int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm)
 
        lockdep_assert_held(&mvm->mutex);
 
-       if (WARN_ON_ONCE(mvm->rfkill_safe_init_done))
-               return 0;
+       mvm->rfkill_safe_init_done = false;
 
        iwl_init_notification_wait(&mvm->notif_wait,
                                   &calib_wait,
@@ -1138,10 +1139,13 @@ static int iwl_mvm_load_rt_fw(struct iwl_mvm *mvm)
 
        iwl_fw_dbg_apply_point(&mvm->fwrt, IWL_FW_INI_APPLY_EARLY);
 
+       mvm->rfkill_safe_init_done = false;
        ret = iwl_mvm_load_ucode_wait_alive(mvm, IWL_UCODE_REGULAR);
        if (ret)
                return ret;
 
+       mvm->rfkill_safe_init_done = true;
+
        iwl_fw_dbg_apply_point(&mvm->fwrt, IWL_FW_INI_APPLY_AFTER_ALIVE);
 
        return iwl_init_paging(&mvm->fwrt, mvm->fwrt.cur_fw_img);
This page took 0.061861 seconds and 4 git commands to generate.