提交 c4680470 编写于 作者: J Johannes Berg 提交者: John W. Linville

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: NJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 189a2b59
...@@ -355,7 +355,7 @@ void ieee80211_start_queues(struct ieee80211_hw *hw) ...@@ -355,7 +355,7 @@ void ieee80211_start_queues(struct ieee80211_hw *hw)
struct ieee80211_local *local = hw_to_local(hw); struct ieee80211_local *local = hw_to_local(hw);
int i; int i;
for (i = 0; i < local->hw.queues; i++) for (i = 0; i < hw->queues + hw->ampdu_queues; i++)
clear_bit(IEEE80211_LINK_STATE_XOFF, &local->state[i]); clear_bit(IEEE80211_LINK_STATE_XOFF, &local->state[i]);
if (!ieee80211_qdisc_installed(local->mdev)) if (!ieee80211_qdisc_installed(local->mdev))
netif_start_queue(local->mdev); netif_start_queue(local->mdev);
...@@ -366,7 +366,7 @@ void ieee80211_stop_queues(struct ieee80211_hw *hw) ...@@ -366,7 +366,7 @@ void ieee80211_stop_queues(struct ieee80211_hw *hw)
{ {
int i; int i;
for (i = 0; i < hw->queues; i++) for (i = 0; i < hw->queues + hw->ampdu_queues; i++)
ieee80211_stop_queue(hw, i); ieee80211_stop_queue(hw, i);
} }
EXPORT_SYMBOL(ieee80211_stop_queues); EXPORT_SYMBOL(ieee80211_stop_queues);
...@@ -375,7 +375,7 @@ void ieee80211_wake_queues(struct ieee80211_hw *hw) ...@@ -375,7 +375,7 @@ void ieee80211_wake_queues(struct ieee80211_hw *hw)
{ {
int i; int i;
for (i = 0; i < hw->queues; i++) for (i = 0; i < hw->queues + hw->ampdu_queues; i++)
ieee80211_wake_queue(hw, i); ieee80211_wake_queue(hw, i);
} }
EXPORT_SYMBOL(ieee80211_wake_queues); EXPORT_SYMBOL(ieee80211_wake_queues);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册