lockdep_assert_held(&mvm->mutex);
 
+       mvm->rfkill_safe_init_done = false;
+
        iwl_init_notification_wait(&mvm->notif_wait,
                                   &init_wait,
                                   init_complete,
 
        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,
 
        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);