Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b7d03acbfe9d6f1ecf169e6494c5eca29fa0ed3
Commit:     1b7d03acbfe9d6f1ecf169e6494c5eca29fa0ed3
Parent:     6368e4b18d5c71c73eecd96d568e726b80e5bce1
Author:     Ron Rindjunsky <[EMAIL PROTECTED]>
AuthorDate: Tue Dec 25 17:00:31 2007 +0200
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Mon Jan 28 15:00:57 2008 -0800

    mac80211: A-MPDU Rx add low level driver API
    
    This patch adds the API to perform A-MPDU actions between mac80211 and low
    level driver.
    
    Signed-off-by: Ron Rindjunsky <[EMAIL PROTECTED]>
    Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 include/net/mac80211.h |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index a762a75..3784a61 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -918,6 +918,18 @@ enum ieee80211_erp_change_flags {
        IEEE80211_ERP_CHANGE_PREAMBLE   = 1<<1,
 };
 
+/**
+ * enum ieee80211_ampdu_mlme_action - A-MPDU actions
+ *
+ * These flags are used with the ampdu_action() callback in
+ * &struct ieee80211_ops to indicate which action is needed.
+ * @IEEE80211_AMPDU_RX_START: start Rx aggregation
+ * @IEEE80211_AMPDU_RX_STOP: stop Rx aggregation
+ */
+enum ieee80211_ampdu_mlme_action {
+       IEEE80211_AMPDU_RX_START,
+       IEEE80211_AMPDU_RX_STOP,
+};
 
 /**
  * struct ieee80211_ops - callbacks from mac80211 to the driver
@@ -1046,6 +1058,12 @@ enum ieee80211_erp_change_flags {
  *     used to determine whether to reply to Probe Requests.
  *
  * @conf_ht: Configures low level driver with 802.11n HT data. Must be atomic.
+ *
+ * @ampdu_action: Perform a certain A-MPDU action
+ *     The RA/TID combination determines the destination and TID we want
+ *     the ampdu action to be performed for. The action is defined through
+ *     ieee80211_ampdu_mlme_action. Starting sequence number (@ssn)
+ *     is the first frame we expect to perform the action on.
  */
 struct ieee80211_ops {
        int (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb,
@@ -1091,6 +1109,9 @@ struct ieee80211_ops {
                             struct ieee80211_tx_control *control);
        int (*tx_last_beacon)(struct ieee80211_hw *hw);
        int (*conf_ht)(struct ieee80211_hw *hw, struct ieee80211_conf *conf);
+       int (*ampdu_action)(struct ieee80211_hw *hw,
+                           enum ieee80211_ampdu_mlme_action action,
+                           const u8 *ra, u16 tid, u16 ssn);
 };
 
 /**
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to