aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorRon Rindjunsky <ron.rindjunsky@intel.com>2008-01-28 07:07:15 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-02-29 15:19:13 -0500
commit0df3ef45a3d7b59cc53ce4e3611033c6e3b51a1b (patch)
tree094a5340c7ded841c72c6542176568af7bd2a565 /drivers
parent8816edcea9009b66570bef10acde5a552a9b3b3c (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.c4
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.h2
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
4733int iwl4965_mac_ampdu_action(struct ieee80211_hw *hw, 4733int 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);
778extern int iwl4965_mac_ampdu_action(struct ieee80211_hw *hw, 778extern 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
782extern int iwl4965_mac_ht_tx_agg_start(struct ieee80211_hw *hw, u8 *da, 782extern 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);