diff options
author | Johannes Berg <johannes.berg@intel.com> | 2014-08-01 12:14:45 -0400 |
---|---|---|
committer | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2014-09-03 15:49:10 -0400 |
commit | df197c00bf1dbdee888aa886e5e93b49b42a268b (patch) | |
tree | c85f30b8d666d70a78f11a59044e38d1147c1991 /drivers/net/wireless/iwlwifi/mvm/ops.c | |
parent | b2d81db7b3d3e51f6f465cae8d450acf0ca8d2dc (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.c | 9 |
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 | ||