aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2010-06-10 04:21:41 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-14 15:39:27 -0400
commita6a67db2bc89d2b1ff07e0817f11235c20d2c329 (patch)
tree1096c42ede83af4dbae34387246f91c0d6649baf /net/mac80211/ieee80211_i.h
parent5d22c89b9bea17a0e48e7534a9b237885e2c0809 (diff)
mac80211: refcount aggregation queue stop
mac80211 currently maintains the ampdu_lock to avoid starting a queue due to one aggregation session while another aggregation session needs the queue stopped. We can do better, however, and instead refcount the queue stops for this particular purpose, thus removing the need for the lock. This will help making ampdu_action able to sleep. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h8
1 files changed, 1 insertions, 7 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index a3ae51308039..8a91b5d83870 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -723,13 +723,7 @@ struct ieee80211_local {
723 struct sk_buff_head pending[IEEE80211_MAX_QUEUES]; 723 struct sk_buff_head pending[IEEE80211_MAX_QUEUES];
724 struct tasklet_struct tx_pending_tasklet; 724 struct tasklet_struct tx_pending_tasklet;
725 725
726 /* 726 atomic_t agg_queue_stop[IEEE80211_MAX_QUEUES];
727 * This lock is used to prevent concurrent A-MPDU
728 * session start/stop processing, this thus also
729 * synchronises the ->ampdu_action() callback to
730 * drivers and limits it to one at a time.
731 */
732 spinlock_t ampdu_lock;
733 727
734 /* number of interfaces with corresponding IFF_ flags */ 728 /* number of interfaces with corresponding IFF_ flags */
735 atomic_t iff_allmultis, iff_promiscs; 729 atomic_t iff_allmultis, iff_promiscs;