diff options
author | Christian Lamparter <chunkeey@googlemail.com> | 2010-01-03 18:52:56 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-01-05 17:13:36 -0500 |
commit | f3f66b69c8ff08b46975d9e99c7ecb92a8b12eda (patch) | |
tree | 63b0a068a8d3e9df5f2e76fd85a03d3b8e19176d /net/mac80211/agg-tx.c | |
parent | 341c97918ab7e84a155ea8b18759425304d213b6 (diff) |
mac80211: fix ampdu_action tx_start ssn
The start_seq_num is taken from the station's tid_seq[tid].
This is fine, except tid_seq sequence counter is shifted
by 4 bits to accommodate for frame fragmentation.
Both (iwlagn & ath9k) were unaffected by this minor glitch,
because they don't read the *ssn for the AMPDU_TX_START action.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/agg-tx.c')
-rw-r--r-- | net/mac80211/agg-tx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c index ceda36618d3c..5aa8f4a3ed17 100644 --- a/net/mac80211/agg-tx.c +++ b/net/mac80211/agg-tx.c | |||
@@ -301,7 +301,7 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid) | |||
301 | * call back right away, it must see that the flow has begun */ | 301 | * call back right away, it must see that the flow has begun */ |
302 | *state |= HT_ADDBA_REQUESTED_MSK; | 302 | *state |= HT_ADDBA_REQUESTED_MSK; |
303 | 303 | ||
304 | start_seq_num = sta->tid_seq[tid]; | 304 | start_seq_num = sta->tid_seq[tid] >> 4; |
305 | 305 | ||
306 | ret = drv_ampdu_action(local, sdata, IEEE80211_AMPDU_TX_START, | 306 | ret = drv_ampdu_action(local, sdata, IEEE80211_AMPDU_TX_START, |
307 | pubsta, tid, &start_seq_num); | 307 | pubsta, tid, &start_seq_num); |