diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-02-13 06:25:28 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-03-18 15:15:05 -0400 |
commit | 445ea4e83ec50668cc9ad7e5cf96d242f19165e8 (patch) | |
tree | 1b6e6c909854358c03fd0047b9f441e0095460e3 /net/mac80211/ieee80211_i.h | |
parent | 39ecc01d1bbe3de2cf5f01a81e176ea5160d3b95 (diff) |
mac80211: stop queues temporarily for flushing
Sometimes queues are flushed in the middle of
operation, which can lead to driver issues.
Stop queues temporarily, while flushing, to
avoid transmitting new packets while they are
being flushed.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index b96c0e977752..ae2d1754b792 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -809,6 +809,7 @@ enum queue_stop_reason { | |||
809 | IEEE80211_QUEUE_STOP_REASON_SUSPEND, | 809 | IEEE80211_QUEUE_STOP_REASON_SUSPEND, |
810 | IEEE80211_QUEUE_STOP_REASON_SKB_ADD, | 810 | IEEE80211_QUEUE_STOP_REASON_SKB_ADD, |
811 | IEEE80211_QUEUE_STOP_REASON_OFFCHANNEL, | 811 | IEEE80211_QUEUE_STOP_REASON_OFFCHANNEL, |
812 | IEEE80211_QUEUE_STOP_REASON_FLUSH, | ||
812 | }; | 813 | }; |
813 | 814 | ||
814 | #ifdef CONFIG_MAC80211_LEDS | 815 | #ifdef CONFIG_MAC80211_LEDS |
@@ -1522,8 +1523,10 @@ void ieee80211_sta_tx_notify(struct ieee80211_sub_if_data *sdata, | |||
1522 | struct ieee80211_hdr *hdr, bool ack); | 1523 | struct ieee80211_hdr *hdr, bool ack); |
1523 | 1524 | ||
1524 | void ieee80211_wake_queues_by_reason(struct ieee80211_hw *hw, | 1525 | void ieee80211_wake_queues_by_reason(struct ieee80211_hw *hw, |
1526 | unsigned long queues, | ||
1525 | enum queue_stop_reason reason); | 1527 | enum queue_stop_reason reason); |
1526 | void ieee80211_stop_queues_by_reason(struct ieee80211_hw *hw, | 1528 | void ieee80211_stop_queues_by_reason(struct ieee80211_hw *hw, |
1529 | unsigned long queues, | ||
1527 | enum queue_stop_reason reason); | 1530 | enum queue_stop_reason reason); |
1528 | void ieee80211_wake_queue_by_reason(struct ieee80211_hw *hw, int queue, | 1531 | void ieee80211_wake_queue_by_reason(struct ieee80211_hw *hw, int queue, |
1529 | enum queue_stop_reason reason); | 1532 | enum queue_stop_reason reason); |