aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/ops.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/ops.c')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/ops.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/ops.c b/drivers/net/wireless/iwlwifi/mvm/ops.c
index 610dbcb0dc27..87f278cc9b2c 100644
--- a/drivers/net/wireless/iwlwifi/mvm/ops.c
+++ b/drivers/net/wireless/iwlwifi/mvm/ops.c
@@ -6,6 +6,7 @@
6 * GPL LICENSE SUMMARY 6 * GPL LICENSE SUMMARY
7 * 7 *
8 * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. 8 * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
9 * Copyright(c) 2013 - 2014 Intel Mobile Communications GmbH
9 * 10 *
10 * This program is free software; you can redistribute it and/or modify 11 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of version 2 of the GNU General Public License as 12 * it under the terms of version 2 of the GNU General Public License as
@@ -31,6 +32,7 @@
31 * BSD LICENSE 32 * BSD LICENSE
32 * 33 *
33 * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. 34 * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
35 * Copyright(c) 2013 - 2014 Intel Mobile Communications GmbH
34 * All rights reserved. 36 * All rights reserved.
35 * 37 *
36 * Redistribution and use in source and binary forms, with or without 38 * Redistribution and use in source and binary forms, with or without
@@ -415,6 +417,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
415 mvm->first_agg_queue = 12; 417 mvm->first_agg_queue = 12;
416 } 418 }
417 mvm->sf_state = SF_UNINIT; 419 mvm->sf_state = SF_UNINIT;
420 mvm->low_latency_agg_frame_limit = 1;
418 421
419 mutex_init(&mvm->mutex); 422 mutex_init(&mvm->mutex);
420 mutex_init(&mvm->d0i3_suspend_mutex); 423 mutex_init(&mvm->d0i3_suspend_mutex);
@@ -456,7 +459,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
456 trans_cfg.command_names = iwl_mvm_cmd_strings; 459 trans_cfg.command_names = iwl_mvm_cmd_strings;
457 460
458 trans_cfg.cmd_queue = IWL_MVM_CMD_QUEUE; 461 trans_cfg.cmd_queue = IWL_MVM_CMD_QUEUE;
459 trans_cfg.cmd_fifo = IWL_MVM_CMD_FIFO; 462 trans_cfg.cmd_fifo = IWL_MVM_TX_FIFO_CMD;
460 463
461 snprintf(mvm->hw->wiphy->fw_version, 464 snprintf(mvm->hw->wiphy->fw_version,
462 sizeof(mvm->hw->wiphy->fw_version), 465 sizeof(mvm->hw->wiphy->fw_version),
@@ -494,7 +497,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
494 goto out_free; 497 goto out_free;
495 498
496 /* 499 /*
497 * Even if nvm exists in the nvm_file driver should read agin the nvm 500 * Even if nvm exists in the nvm_file driver should read again the nvm
498 * from the nic because there might be entries that exist in the OTP 501 * from the nic because there might be entries that exist in the OTP
499 * and not in the file. 502 * and not in the file.
500 * for nics with no_power_up_nic_in_init: rely completley on nvm_file 503 * for nics with no_power_up_nic_in_init: rely completley on nvm_file
@@ -700,14 +703,13 @@ static void iwl_mvm_stop_sw_queue(struct iwl_op_mode *op_mode, int queue)
700 if (WARN_ON_ONCE(mq == IWL_INVALID_MAC80211_QUEUE)) 703 if (WARN_ON_ONCE(mq == IWL_INVALID_MAC80211_QUEUE))
701 return; 704 return;
702 705
703 if (atomic_inc_return(&mvm->queue_stop_count[mq]) > 1) { 706 if (atomic_inc_return(&mvm->mac80211_queue_stop_count[mq]) > 1) {
704 IWL_DEBUG_TX_QUEUES(mvm, 707 IWL_DEBUG_TX_QUEUES(mvm,
705 "queue %d (mac80211 %d) already stopped\n", 708 "queue %d (mac80211 %d) already stopped\n",
706 queue, mq); 709 queue, mq);
707 return; 710 return;
708 } 711 }
709 712
710 set_bit(mq, &mvm->transport_queue_stop);
711 ieee80211_stop_queue(mvm->hw, mq); 713 ieee80211_stop_queue(mvm->hw, mq);
712} 714}
713 715
@@ -719,15 +721,13 @@ static void iwl_mvm_wake_sw_queue(struct iwl_op_mode *op_mode, int queue)
719 if (WARN_ON_ONCE(mq == IWL_INVALID_MAC80211_QUEUE)) 721 if (WARN_ON_ONCE(mq == IWL_INVALID_MAC80211_QUEUE))
720 return; 722 return;
721 723
722 if (atomic_dec_return(&mvm->queue_stop_count[mq]) > 0) { 724 if (atomic_dec_return(&mvm->mac80211_queue_stop_count[mq]) > 0) {
723 IWL_DEBUG_TX_QUEUES(mvm, 725 IWL_DEBUG_TX_QUEUES(mvm,
724 "queue %d (mac80211 %d) already awake\n", 726 "queue %d (mac80211 %d) still stopped\n",
725 queue, mq); 727 queue, mq);
726 return; 728 return;
727 } 729 }
728 730
729 clear_bit(mq, &mvm->transport_queue_stop);
730
731 ieee80211_wake_queue(mvm->hw, mq); 731 ieee80211_wake_queue(mvm->hw, mq);
732} 732}
733 733