diff options
author | Ron Rindjunsky <ron.rindjunsky@intel.com> | 2008-01-28 07:07:15 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-02-29 15:19:13 -0500 |
commit | 0df3ef45a3d7b59cc53ce4e3611033c6e3b51a1b (patch) | |
tree | 094a5340c7ded841c72c6542176568af7bd2a565 /drivers | |
parent | 8816edcea9009b66570bef10acde5a552a9b3b3c (diff) |
mac80211: A-MPDU Tx add session's and low level driver's API
This patch adds the API for 3 stages in A-MPDU Tx session flow:
- request mac80211 to start/stop A-MPDU Tx session for specific TID. such a
request should be issued by a load aware element, either mac80211 itself
or external element.
- requests by mac80211 to low-level driver to start/stop Tx aggregation.
notice that low level driver responds now with Starting Sequence Number.
- async feedback by low-level to mac80211 to inform that HW is ready for
next A-MPDU Tx state.
Changes in API to Rx A-MPDU were also made, reflected in iwlwifi changes as
well.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index d727de8b96fe..cd4f5e383e60 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c | |||
@@ -4732,7 +4732,7 @@ static void iwl4965_sta_modify_del_ba_tid(struct iwl4965_priv *priv, | |||
4732 | 4732 | ||
4733 | int iwl4965_mac_ampdu_action(struct ieee80211_hw *hw, | 4733 | int iwl4965_mac_ampdu_action(struct ieee80211_hw *hw, |
4734 | enum ieee80211_ampdu_mlme_action action, | 4734 | enum ieee80211_ampdu_mlme_action action, |
4735 | const u8 *addr, u16 tid, u16 ssn) | 4735 | const u8 *addr, u16 tid, u16 *ssn) |
4736 | { | 4736 | { |
4737 | struct iwl4965_priv *priv = hw->priv; | 4737 | struct iwl4965_priv *priv = hw->priv; |
4738 | int sta_id; | 4738 | int sta_id; |
@@ -4744,7 +4744,7 @@ int iwl4965_mac_ampdu_action(struct ieee80211_hw *hw, | |||
4744 | switch (action) { | 4744 | switch (action) { |
4745 | case IEEE80211_AMPDU_RX_START: | 4745 | case IEEE80211_AMPDU_RX_START: |
4746 | IWL_DEBUG_HT("start Rx\n"); | 4746 | IWL_DEBUG_HT("start Rx\n"); |
4747 | iwl4965_sta_modify_add_ba_tid(priv, sta_id, tid, ssn); | 4747 | iwl4965_sta_modify_add_ba_tid(priv, sta_id, tid, *ssn); |
4748 | break; | 4748 | break; |
4749 | case IEEE80211_AMPDU_RX_STOP: | 4749 | case IEEE80211_AMPDU_RX_STOP: |
4750 | IWL_DEBUG_HT("stop Rx\n"); | 4750 | IWL_DEBUG_HT("stop Rx\n"); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.h b/drivers/net/wireless/iwlwifi/iwl-4965.h index 9cb82be0ff80..6edf869d4d54 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.h +++ b/drivers/net/wireless/iwlwifi/iwl-4965.h | |||
@@ -777,7 +777,7 @@ extern void iwl4965_set_ht_add_station(struct iwl4965_priv *priv, u8 index, | |||
777 | struct ieee80211_ht_info *sta_ht_inf); | 777 | struct ieee80211_ht_info *sta_ht_inf); |
778 | extern int iwl4965_mac_ampdu_action(struct ieee80211_hw *hw, | 778 | extern int iwl4965_mac_ampdu_action(struct ieee80211_hw *hw, |
779 | enum ieee80211_ampdu_mlme_action action, | 779 | enum ieee80211_ampdu_mlme_action action, |
780 | const u8 *addr, u16 tid, u16 ssn); | 780 | const u8 *addr, u16 tid, u16 *ssn); |
781 | #ifdef CONFIG_IWL4965_HT_AGG | 781 | #ifdef CONFIG_IWL4965_HT_AGG |
782 | extern int iwl4965_mac_ht_tx_agg_start(struct ieee80211_hw *hw, u8 *da, | 782 | extern int iwl4965_mac_ht_tx_agg_start(struct ieee80211_hw *hw, u8 *da, |
783 | u16 tid, u16 *start_seq_num); | 783 | u16 tid, u16 *start_seq_num); |