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 /net/mac80211/ieee80211_sta.c | |
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 'net/mac80211/ieee80211_sta.c')
-rw-r--r-- | net/mac80211/ieee80211_sta.c | 4 |
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); |