diff options
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/ops.c')
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c index ebe6d9c4ccaf..9711841bb456 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c @@ -1128,6 +1128,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,  	iwl_mvm_get_acpi_tables(mvm);  	iwl_uefi_get_sgom_table(trans, &mvm->fwrt); +	iwl_uefi_get_step_table(trans);  	mvm->init_status = 0; @@ -1194,6 +1195,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,  	INIT_DELAYED_WORK(&mvm->scan_timeout_dwork, iwl_mvm_scan_timeout_wk);  	INIT_WORK(&mvm->add_stream_wk, iwl_mvm_add_new_dqa_stream_wk);  	INIT_LIST_HEAD(&mvm->add_stream_txqs); +	spin_lock_init(&mvm->add_stream_lock);  	init_waitqueue_head(&mvm->rx_sync_waitq); @@ -1690,7 +1692,10 @@ static void iwl_mvm_queue_state_change(struct iwl_op_mode *op_mode,  		txq = sta->txq[tid];  		mvmtxq = iwl_mvm_txq_from_mac80211(txq); -		mvmtxq->stopped = !start; +		if (start) +			clear_bit(IWL_MVM_TXQ_STATE_STOP_FULL, &mvmtxq->state); +		else +			set_bit(IWL_MVM_TXQ_STATE_STOP_FULL, &mvmtxq->state);  		if (start && mvmsta->sta_state != IEEE80211_STA_NOTEXIST)  			iwl_mvm_mac_itxq_xmit(mvm->hw, txq); |