diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-05-15 06:55:25 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-05-21 21:48:08 -0400 |
commit | c4680470a34a4f39af3d0a5c40f70befd8701908 (patch) | |
tree | b965ffa0226244e80f8482b5e5b4500f8175274a /net/mac80211/util.c | |
parent | 189a2b5942d62bd18e1e01772c4c784253f5dd16 (diff) |
mac80211: fix bugs in queue handling functions
Commit 55c308c1315bc7267dbb88011c208fd743cdce31
("mac80211: QoS related cleanups") introduced another bug,
the queue handling functions that operate on all queues now
only operated on the first queues, not the A-MPDU queues as
expected. This patch fixes this.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r-- | net/mac80211/util.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 24a465c4df09..9cd07e1031af 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c | |||
@@ -355,7 +355,7 @@ void ieee80211_start_queues(struct ieee80211_hw *hw) | |||
355 | struct ieee80211_local *local = hw_to_local(hw); | 355 | struct ieee80211_local *local = hw_to_local(hw); |
356 | int i; | 356 | int i; |
357 | 357 | ||
358 | for (i = 0; i < local->hw.queues; i++) | 358 | for (i = 0; i < hw->queues + hw->ampdu_queues; i++) |
359 | clear_bit(IEEE80211_LINK_STATE_XOFF, &local->state[i]); | 359 | clear_bit(IEEE80211_LINK_STATE_XOFF, &local->state[i]); |
360 | if (!ieee80211_qdisc_installed(local->mdev)) | 360 | if (!ieee80211_qdisc_installed(local->mdev)) |
361 | netif_start_queue(local->mdev); | 361 | netif_start_queue(local->mdev); |
@@ -366,7 +366,7 @@ void ieee80211_stop_queues(struct ieee80211_hw *hw) | |||
366 | { | 366 | { |
367 | int i; | 367 | int i; |
368 | 368 | ||
369 | for (i = 0; i < hw->queues; i++) | 369 | for (i = 0; i < hw->queues + hw->ampdu_queues; i++) |
370 | ieee80211_stop_queue(hw, i); | 370 | ieee80211_stop_queue(hw, i); |
371 | } | 371 | } |
372 | EXPORT_SYMBOL(ieee80211_stop_queues); | 372 | EXPORT_SYMBOL(ieee80211_stop_queues); |
@@ -375,7 +375,7 @@ void ieee80211_wake_queues(struct ieee80211_hw *hw) | |||
375 | { | 375 | { |
376 | int i; | 376 | int i; |
377 | 377 | ||
378 | for (i = 0; i < hw->queues; i++) | 378 | for (i = 0; i < hw->queues + hw->ampdu_queues; i++) |
379 | ieee80211_wake_queue(hw, i); | 379 | ieee80211_wake_queue(hw, i); |
380 | } | 380 | } |
381 | EXPORT_SYMBOL(ieee80211_wake_queues); | 381 | EXPORT_SYMBOL(ieee80211_wake_queues); |