aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/ops.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2014-08-01 12:14:45 -0400
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-09-03 15:49:10 -0400
commitdf197c00bf1dbdee888aa886e5e93b49b42a268b (patch)
treec85f30b8d666d70a78f11a59044e38d1147c1991 /drivers/net/wireless/iwlwifi/mvm/ops.c
parentb2d81db7b3d3e51f6f465cae8d450acf0ca8d2dc (diff)
iwlwifi: mvm: clarify stop_count, remove transport_stopped
The queue handling is a bit unclear - we have an array for stop_count[IWL_MAX_HW_QUEUES] but indices really are the mac80211 queue numbers. Change the array to be only of the right size for mac80211 queues (IEEE80211_MAX_QUEUES) and rename it to be clearer. While at it, also remove the unused transport queue stop bitmap in mvm. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/ops.c')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/ops.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/ops.c b/drivers/net/wireless/iwlwifi/mvm/ops.c
index d7ec07d48d98..87f278cc9b2c 100644
--- a/drivers/net/wireless/iwlwifi/mvm/ops.c
+++ b/drivers/net/wireless/iwlwifi/mvm/ops.c
@@ -703,14 +703,13 @@ static void iwl_mvm_stop_sw_queue(struct iwl_op_mode *op_mode, int queue)
703 if (WARN_ON_ONCE(mq == IWL_INVALID_MAC80211_QUEUE)) 703 if (WARN_ON_ONCE(mq == IWL_INVALID_MAC80211_QUEUE))
704 return; 704 return;
705 705
706 if (atomic_inc_return(&mvm->queue_stop_count[mq]) > 1) { 706 if (atomic_inc_return(&mvm->mac80211_queue_stop_count[mq]) > 1) {
707 IWL_DEBUG_TX_QUEUES(mvm, 707 IWL_DEBUG_TX_QUEUES(mvm,
708 "queue %d (mac80211 %d) already stopped\n", 708 "queue %d (mac80211 %d) already stopped\n",
709 queue, mq); 709 queue, mq);
710 return; 710 return;
711 } 711 }
712 712
713 set_bit(mq, &mvm->transport_queue_stop);
714 ieee80211_stop_queue(mvm->hw, mq); 713 ieee80211_stop_queue(mvm->hw, mq);
715} 714}
716 715
@@ -722,15 +721,13 @@ static void iwl_mvm_wake_sw_queue(struct iwl_op_mode *op_mode, int queue)
722 if (WARN_ON_ONCE(mq == IWL_INVALID_MAC80211_QUEUE)) 721 if (WARN_ON_ONCE(mq == IWL_INVALID_MAC80211_QUEUE))
723 return; 722 return;
724 723
725 if (atomic_dec_return(&mvm->queue_stop_count[mq]) > 0) { 724 if (atomic_dec_return(&mvm->mac80211_queue_stop_count[mq]) > 0) {
726 IWL_DEBUG_TX_QUEUES(mvm, 725 IWL_DEBUG_TX_QUEUES(mvm,
727 "queue %d (mac80211 %d) already awake\n", 726 "queue %d (mac80211 %d) still stopped\n",
728 queue, mq); 727 queue, mq);
729 return; 728 return;
730 } 729 }
731 730
732 clear_bit(mq, &mvm->transport_queue_stop);
733
734 ieee80211_wake_queue(mvm->hw, mq); 731 ieee80211_wake_queue(mvm->hw, mq);
735} 732}
736 733