aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_sta.c
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 /net/mac80211/ieee80211_sta.c
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 'net/mac80211/ieee80211_sta.c')
-rw-r--r--net/mac80211/ieee80211_sta.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c
index 79dadd2976cd..d5d5610db1bd 100644
--- a/net/mac80211/ieee80211_sta.c
+++ b/net/mac80211/ieee80211_sta.c
@@ -1128,7 +1128,7 @@ static void ieee80211_sta_process_addba_request(struct net_device *dev,
1128 1128
1129 if (local->ops->ampdu_action) 1129 if (local->ops->ampdu_action)
1130 ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_START, 1130 ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_START,
1131 sta->addr, tid, start_seq_num); 1131 sta->addr, tid, &start_seq_num);
1132#ifdef CONFIG_MAC80211_HT_DEBUG 1132#ifdef CONFIG_MAC80211_HT_DEBUG
1133 printk(KERN_DEBUG "Rx A-MPDU on tid %d result %d", tid, ret); 1133 printk(KERN_DEBUG "Rx A-MPDU on tid %d result %d", tid, ret);
1134#endif /* CONFIG_MAC80211_HT_DEBUG */ 1134#endif /* CONFIG_MAC80211_HT_DEBUG */
@@ -1230,7 +1230,7 @@ void ieee80211_sta_stop_rx_ba_session(struct net_device *dev, u8 *ra, u16 tid,
1230 BUG_ON(!local->ops->ampdu_action); 1230 BUG_ON(!local->ops->ampdu_action);
1231 1231
1232 ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_STOP, 1232 ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_STOP,
1233 ra, tid, EINVAL); 1233 ra, tid, NULL);
1234 if (ret) 1234 if (ret)
1235 printk(KERN_DEBUG "HW problem - can not stop rx " 1235 printk(KERN_DEBUG "HW problem - can not stop rx "
1236 "aggergation for tid %d\n", tid); 1236 "aggergation for tid %d\n", tid);