diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-12-23 07:15:32 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-12-28 16:54:51 -0500 |
commit | a80f7c0b088187c8471b441d461e937991870661 (patch) | |
tree | f673c08009a03f2e988a638510b112a5584bea11 /include/net/mac80211.h | |
parent | 9607e6b66a0d25ca63b70d54a4283fa13d8f7c9d (diff) |
mac80211: introduce flush operation
We've long lacked a good confirmation that frames
have really gone out, e.g. before going off-channel
for a scan. Add a flush() operation that drivers
can implement to provide that confirmation, and use
it in a few places:
* before scanning sends the nullfunc frames
* after scanning sends the nullfunc frames, if any
* when going idle, to send any pending frames
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 494ac69ff477..77ea34b03285 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1545,6 +1545,10 @@ enum ieee80211_ampdu_mlme_action { | |||
1545 | * and need to call wiphy_rfkill_set_hw_state() in the callback. | 1545 | * and need to call wiphy_rfkill_set_hw_state() in the callback. |
1546 | * | 1546 | * |
1547 | * @testmode_cmd: Implement a cfg80211 test mode command. | 1547 | * @testmode_cmd: Implement a cfg80211 test mode command. |
1548 | * | ||
1549 | * @flush: Flush all pending frames from the hardware queue, making sure | ||
1550 | * that the hardware queues are empty. If the parameter @drop is set | ||
1551 | * to %true, pending frames may be dropped. | ||
1548 | */ | 1552 | */ |
1549 | struct ieee80211_ops { | 1553 | struct ieee80211_ops { |
1550 | int (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); | 1554 | int (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); |
@@ -1601,6 +1605,7 @@ struct ieee80211_ops { | |||
1601 | #ifdef CONFIG_NL80211_TESTMODE | 1605 | #ifdef CONFIG_NL80211_TESTMODE |
1602 | int (*testmode_cmd)(struct ieee80211_hw *hw, void *data, int len); | 1606 | int (*testmode_cmd)(struct ieee80211_hw *hw, void *data, int len); |
1603 | #endif | 1607 | #endif |
1608 | void (*flush)(struct ieee80211_hw *hw, bool drop); | ||
1604 | }; | 1609 | }; |
1605 | 1610 | ||
1606 | /** | 1611 | /** |