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>
This commit is contained in:
committed by
John W. Linville
parent
189a2b5942
commit
c4680470a3
@@ -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)
|
|||||||
{
|
{
|
||||||
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)
|
|||||||
{
|
{
|
||||||
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);
|
||||||
|
Reference in New Issue
Block a user